您的位置:首页 > 编程语言 > PHP开发

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

2015-01-23 00:00 519 查看
本文实例讲述了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程序设计有所帮助。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: