加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP 操作xml编程执行xml的crud操作

发布时间:2023-07-24 09:25:22 所属栏目:PHP教程 来源:
导读:本文章来给大家介绍一个PHP 操作xml编程之xml的crud操作,有需要了解的同学可参考.

html代码页面,代码如下:

<html>
<head>
<meta http-equiv="Content-type" content="text/html;charset=utf-8">
</h
本文章来给大家介绍一个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(); 
        } 
    } 
    //开源代码Cuoxin.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> 

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章