好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

PHP 操作xml编程之xml的crud操作 - php高级应用

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高级应用的详细内容...

  阅读:43次