php+xml实现在线英文词典之添加词条的方法

  本文实例讲述了php+xml实现在线英文词典之添加词条的方法。分享给大家供大家参考。具体如下:

  接着上一篇《php+xml实现在线英文词典查询的方法》,这里要添加一个功能,提交英文单词和中文意思,将这些信息添加到xml文档中。

  xml文件(数据库):words.xml

  

复制代码 代码如下:
<?xml version="1.0" encoding="utf-8"?>

  <words>

  <word>

  <en>boy</en>

  <ch>男孩</ch>

  </word>

  <word>

  <en>girl</en>

  <ch>女孩</ch>

  </word>

  <word>

  <en>teacher</en>

  <ch>老师</ch>

  </word>

  <word>

  <en>beauty</en>

  <ch>美女</ch>

  </word>

  </words>

  查询与添加文件:words.php

  

复制代码 代码如下:
<h2 style="color:green">在线英汉词典</h2>

  <h4>查询英文单词</h4>

  <form action="xmlprocess.php" method="post">

  请输入英文单词:<input type="text" name="enword" />

  <input type="submit" value="查询" name="sub" />

  </form>

  <h4>添加英文单词</h4>

  <form action="xmlprocess.php" method="post">

  英文单词:<input type="text" name="en_word" /><br />

  中文意思:<input type="text" name="ch_word" />

  <input type="submit" value="添加" name="add">

  </form>

  处理文件:xmlprocess.php

  

复制代码 代码如下:
<?php

  //创建xml对象

  $xmldoc = new DOMDocument();

  $xmldoc->load("words.xml");

  //查询

  if(!empty($_POST['sub'])){

  $en_word = $_POST['enword'];

  $word = $xmldoc->getElementsByTagName("en");

  for($i=0;$i<$word->length;$i++){

  if($en_word==$word->item($i)->nodeValue){

  $cn_word = $xmldoc->getElementsByTagName("ch")->item($i)->nodeValue;

  break;

  }else{

  $cn_word = "找不到你所输入的单词";

  }

  }

  echo $cn_word;

  }

  //增加词条

  if(!empty($_POST['add'])){

  $en_word = $_POST['en_word'];

  $ch_word = $_POST['ch_word'];

  //获取根节点

  $words = $xmldoc->getElementsByTagName("words")->item(0);

  //增加元素,并添加内容

  $new_word = $xmldoc->createElement("word");

  $new_word_en = $xmldoc->createElement("en");

  $new_word_en->nodeValue = $en_word;

  $new_word_ch = $xmldoc->createElement("ch");

  $new_word_ch->nodeValue = $ch_word;

  //元素之间挂载,意思是将子元素与父元素相连

  $new_word->appendChild($new_word_en);

  $new_word->appendChild($new_word_ch);

  $words->appendChild($new_word);

  //保存

  $xmldoc->save("words.xml");

  }

  ?>

  希望本文所述对大家的php+XML程序设计有所帮助。