PHP 操作xml编程之xml的crud操作
本文章来给大家介绍一个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 (! empty empty ( $enword )&&! empty empty ( $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 (! empty empty ( $enword )&&! empty empty ( $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 (); } } //开源代码phpfensi.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 >查看更多关于PHP 操作xml编程之xml的crud操作 - php高级应用的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did30072