PHP 操作xml编程之xml的crud操作
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>
Copier après la connexion
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; }
Copier après la connexion
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>
Copier après la connexion
永久地址:
转载随意~请带上教程地址吧^^
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud
Assassin's Creed Shadows: Solution d'énigmes de coquille
3 Il y a quelques semaines
By DDD
Quoi de neuf dans Windows 11 KB5054979 et comment résoudre les problèmes de mise à jour
2 Il y a quelques semaines
By DDD
Où trouver la courte de la grue à atomide atomique
3 Il y a quelques semaines
By DDD
Assassin's Creed Shadows - Comment trouver le forgeron et déverrouiller les armes et la personnalisation des armes
1 Il y a quelques mois
By DDD
<🎜>: Dead Rails - Comment relever chaque défi
3 Il y a quelques semaines
By DDD

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)