本文章来给大家介绍一个PHP 操作xml编程之xml的crud操作,有需要了解的同学可参考.
html代码页面,代码如下:
<html> <head> <meta http-equiv="Content-type" content="text/html;charset=utf-8"> </head> <body> <form action="wordProcess.php" method="post"> <input type="text" name="enword"> <input type="hidden" name="type" value="query"> <input type="submit" value="查询"> </form> <span>添加单词</span> <form action="wordProcess.php" method="post"> 英文:<input type="text" name="enword"><br> 中文:<input type="text" name="zhword"><br> <!--<input type="hidden" name="type" value="insert"> <input type="hidden" name="type" value="update"> --> <input type="submit" name="type" value="添加"> <input type="submit" name="type" value="修改"> </form> <form action="wordProcess.php" method="post"> <input type="text" name="word"> <input type="hidden" name="type" value="delete"> <input type="submit" value="删除"> </form> </body> </html>
wordpress.php文件,代码如下:
<?php //接收类型 看看用户做什么(查询、添加....) $type=$_REQUEST['type']; //echo $type; //exit(); //创建xml文档对象 $doc=new DOMDocument(); $doc->load("words.xml"); //进行判断 if($type=="query"){ //获取用户输入的值 $enword=$_REQUEST['enword']; //判断是否进入查询 $isEnter=false; //获取所有单词节点 $words=$doc->getElementsByTagName("word"); //遍历单词节点 for($i=0;$i<$words->length;$i++){ $word_node=$words->item($i); //获取不同的语种 $en_word=getNodeVal($word_node,"en"); $zh_word=getNodeVal($word_node,"zh"); //查询 if($enword==$en_word){ $isEnter=true; echo $enword."的中文意思是:".getNodeVal($word_node,"zh"); echo "<br/><a href='wordView.php'>返回继续查询</a>"; }else if($enword==$zh_word){ $isEnter=true; echo $enword."的英文意思是:".getNodeVal($word_node,"en"); echo "<br/><a href='wordView.php'>返回继续查询</a>"; } } if(!$isEnter){ echo "无法查询"; echo "<br/><a href='wordView.php'>返回继续查询</a>"; } }else if($type=="添加"){ //接收 $enword=$_REQUEST['enword']; $zhword=$_REQUEST['zhword']; if(!emptyempty($enword)&&!emptyempty($zhword)){ //获取根节点 $root=$doc->getElementsByTagName("words")->item(0); $word=$doc->createElement("word"); $en=$doc->createElement("en",$enword); $zh=$doc->createElement("zh",$zhword); //进行挂载 $root->appendChild($word); $word->appendChild($en); $word->appendChild($zh); //保存xml文件 $doc->save("words.xml"); echo "添加成功<br/><a href='wordView.php'>返回继续操作</a>"; }else{ echo "请输入单词"; echo "<br/><a href='wordView.php'>返回继续操作</a>"; exit(); } }else if($type=="delete"){ $word=$_REQUEST['word']; //获取所有单词节点 $words=$doc->getElementsByTagName("word"); $isEnter=false; //遍历单词节点 for($i=0;$i<$words->length;$i++){ $word_node=$words->item($i); //获取不同的语种 $en_word=getNodeVal($word_node,"en"); $zh_word=getNodeVal($word_node,"zh"); //查询 if($word==$en_word || $word==$zh_word){ $isEnter=true; //找到父节点 $word_node->parentNode->removeChild($word_node); $doc->save("words.xml"); echo "删除成功<br/><a href='wordView.php'>返回继续操作</a>"; } } if(!$isEnter){ echo "操作失败"; echo "<br/><a href='wordView.php'>返回继续操作</a>"; } }else if($type="修改"){ //接收 $enword=$_REQUEST['enword']; $zhword=$_REQUEST['zhword']; if(!emptyempty($enword)&&!emptyempty($zhword)){ //获取所有单词节点 $words=$doc->getElementsByTagName("word"); //遍历单词节点 $isEnter=false; for($i=0;$i<$words->length;$i++){ $word_node=$words->item($i); //获取不同的语种 $en_word=getNodeVal($word_node,"en"); $zh_word=getNodeVal($word_node,"zh"); //查询 if($enword==$en_word && $zhword!=$zh_word){ //修改中文 $isEnter=true; //获取zh节点 $zh=$word_node->getElementsByTagName("zh")->item(0); $zh->nodeValue=$zhword; $doc->save("words.xml"); echo "修改成功"; echo "<br/><a href='wordView.php'>返回继续操作</a>"; }else if($enword!=$en_word && $zhword==$zh_word){ //修改因为 $isEnter=true; $en=$word_node->getElementsByTagName("en")->item(0); $en->nodeValue=$enword; $doc->save("words.xml"); echo "修改成功"; echo "<br/><a href='wordView.php'>返回继续操作</a>"; } } if(!$isEnter){ echo "没有做任何修改"; echo "<br/><a href='wordView.php'>返回继续操作</a>"; } }else{ echo "请输入需要修改的单词"; echo "<br/><a href='wordView.php'>返回继续操作</a>"; exit(); } } //开源代码phprm.com //获取节点的文本值 function getNodeVal(&$MyNode,$tagName){ return $MyNode->getElementsByTagName($tagName)->item(0)->nodeValue; }
words.xml,代码如下:
<?xml version="1.0" encoding="utf-8" <words><word><en>boy</en><zh>男孩</zh></word><word><en>girl</en><zh>女孩</zh></word><word><en>fire</en><zh>火</zh></word><word><en>word</en><zh>词库</zh></word></words>
永久地址:
转载随意~请带上教程地址吧^^
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
Windows 11 KB5054979中的新功能以及如何解决更新问题
4 周前ByDDD
如何修复KB5055523无法在Windows 11中安装?
3 周前ByDDD
Inzoi:如何申请学校和大学
1 个月前ByDDD
如何修复KB5055518无法在Windows 10中安装?
3 周前ByDDD
在哪里可以找到Atomfall中的站点办公室钥匙
4 周前ByDDD

热工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3汉化版
中文版,非常好用

SublimeText3 Linux新版
SublimeText3 Linux最新版

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。