XML 做小型数据库

前端之家收集整理的这篇文章主要介绍了XML 做小型数据库前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

XML可以做配置文件,也可以当数据库,这次来个数据库使用吧

1 将数据库导入到xml文件

  1. <?PHP
  2. /***
  3. dict 表
  4. id word mean
  5. 1 score 分数
  6. 2 title 标题
  7. ...
  8. ...
  9. ...
  10. 13121 zlib zlib库
  11.  
  12.  
  13. <?xml ..?>
  14. <dict>
  15. <word id="w1">
  16. <name>score</name>
  17. <mean>分数</mean>
  18. </word>
  19. <word id="w2">
  20. <name>score</name>
  21. <mean>分数</mean>
  22. </word>
  23. ...
  24. ....
  25. <word id="w13211">
  26. <name>score</name>
  27. <mean>分数</mean>
  28. </word>
  29. </dict>
  30.  
  31.  
  32. 利用XML做小型数据库,做一个在线词典查询
  33.  
  34. 1:把数据库的单词导入到XML文件
  35. 2:做一个表单用来发送待查询单词
  36. 3:做一个查询页面,解析XML,查询该单词
  37. ***/
  38.  
  39.  
  40.  
  41. $xml = new DOMDocument('1.0','utf-8');
  42. $xml->load('./dict.xml');
  43.  
  44. $dict = $xml->getElementsByTagName('dict')->item(0);
  45.  
  46. $conn = MysqL_connect('localhost','root','111111');
  47. MysqL_query('use test',$conn);
  48.  
  49. $rs = MysqL_query('select * from cetsix');
  50.  
  51.  
  52.  
  53. while($row = MysqL_fetch_assoc($rs)) {
  54. // 每一行数据,只要写入到XML的节点中,就可以了.
  55.  
  56. $lx = $xml->createElement('lx');
  57. $lx->appendChild($xml->createCDATASection($row['lx']));
  58.  
  59. $mean = $xml->createElement('mean');
  60. $mean->appendChild($xml->createCDATASection($row['meaning']));
  61.  
  62. $name = $xml->createElement('name');
  63. $name->appendChild($xml->createtextNode($row['word']));
  64.  
  65. $word = $xml->createElement('word');
  66. $word->appendChild($name);
  67. $word->appendChild($mean);
  68. $word->appendChild($lx);
  69.  
  70. $dict->appendChild($word);
  71. }
  72.  
  73. $xml->save('./dict.xml');
  74.  
  75. echo 'OK';
  76.  

进行查询

  1. <html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN">
  2. <head>
  3. <title>新建网页</title>
  4. <Meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5.  
  6. </head>
  7. <body>
  8. <h2>XML做小型数据库,完成在线词典</h2>
  9. <form action="query.PHP">
  10. <p>
  11. 单词:<input type="text" name="word" />
  12. <p>
  13. <p>
  14. <input type="submit" value="查询" />
  15. </p>
  16. </form>
  17.  
  18. <div id="abc">
  19. 分析html,干吗非得用正则,DOM解析不行吗?
  20. </div>
  21.  
  22. <div><p><span>aaaa</span><span>bbbbspan</span></p></div>
  23. </body>
  24. </html>

PHP代码

  1. <?PHP
  2. // 接收单词并解析XML查询相应的单词
  3. $word = isset($_GET['word'])?trim($_GET['word']):'';
  4.  
  5. if(empty($word)) {
  6. exit('你想查啥?');
  7. }
  8.  
  9.  
  10. // 解析XML并查询
  11. $xml = new DOMDocument('1.0','utf-8');
  12. $xml->load('./dict.xml');
  13.  
  14.  
  15. $namelist = $xml->getElementsByTagName('name');
  16.  
  17. $isfind = false;
  18.  
  19. foreach($namelist as $v) {
  20. if($v->nodeValue == $word) {
  21. //print_r($v);
  22. echo $word,'<br />';
  23. echo '意思:',$v->nextSibling->nodeValue,'<br />';
  24. echo '例句:',$v->nextSibling->nextSibling->nodeValue,'<br />';
  25.  
  26. $isfind = true;
  27. break;
  28. }
  29. }
  30.  
  31. if(!$isfind) {
  32. echo 'sorry';
  33. }

猜你在找的XML相关文章