本文章来给大家介绍一个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脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
刺客信條陰影:貝殼謎語解決方案
2 週前ByDDD
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

記事本++7.3.1
好用且免費的程式碼編輯器

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3 Linux新版
SublimeText3 Linux最新版