php+xml实现在线英文词典之添加词条的方法
本文实例讲述了php+xml实现在线英文词典之添加词条的方法。分享给大家供大家参考。具体如下:
接着上一篇《php+xml实现在线英文词典查询的方法》,这里要添加一个功能,提交英文单词和中文意思,将这些信息添加到xml文档中。
xml文件(数据库):words.xml
<?xmlversion="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
<h2style="color:green">在线英汉词典</h2> <h4>查询英文单词</h4> <formaction="xmlprocess.php"method="post"> 请输入英文单词:<inputtype="text"name="enword"/> <inputtype="submit"value="查询"name="sub"/> </form> <h4>添加英文单词</h4> <formaction="xmlprocess.php"method="post"> 英文单词:<inputtype="text"name="en_word"/><br/> 中文意思:<inputtype="text"name="ch_word"/> <inputtype="submit"value="添加"name="add"> </form>
处理文件:xmlprocess.php
<?php //创建xml对象 $xmldoc=newDOMDocument(); $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程序设计有所帮助。