本文实例讲述了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程序设计有所帮助。