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程序设计有所帮助。