nodeValue=$_content;" method."/> nodeValue=$_content;" method.">

Home  >  Article  >  Backend Development  >  How to modify xml in php

How to modify xml in php

藏色散人
藏色散人Original
2020-11-20 09:59:001843browse

How to modify xml in php: first create a code sample file; then modify the node value through the "$new->nodeValue=$_content;" method.

How to modify xml in php

Recommended: "PHP Video Tutorial"

php creation, addition, deletion, Modify xml

Create xml method:

<?php
$xmlpatch = &#39;index.xml&#39;;
$_id = &#39;1&#39;;
$_title = &#39;title1&#39;;
$_content = &#39;content1&#39;;
$_author = &#39;author1&#39;;
$_sendtime = &#39;time1&#39;;
$_htmlpatch = &#39;1.html&#39;;
 
$doc = new DOMDocument(&#39;1.0&#39;, &#39;utf-8&#39;);
$doc -> formatOutput = true;
 
$root = $doc -> createElement(&#39;root&#39;);//新建节点
 
$index = $doc -> createElement(&#39;index&#39;);//新建节点
 
$url = $doc -> createAttribute(&#39;url&#39;);//新建属性
$patch = $doc -> createTextNode($_htmlpatch);//新建TEXT值
$url -> appendChild($patch);//将$patch文本设为$url属性的值
 
$id = $doc -> createAttribute(&#39;id&#39;);
$newsid = $doc -> createTextNode($_id);
$id -> appendChild($newsid);
 
$title = $doc -> createAttribute(&#39;title&#39;);
$newstitle = $doc -> createTextNode($_title);
$title -> appendChild($newstitle);
 
$content = $doc -> createTextNode($_content);//节点值
 
$author = $doc -> createAttribute(&#39;author&#39;);
$newsauthor = $doc -> createTextNode($_author);
$author -> appendChild($newsauthor);
 
$sendtime = $doc -> createAttribute(&#39;time&#39;);
$newssendtime = $doc -> createTextNode($_sendtime);
$sendtime -> appendChild($newssendtime);
 
$index -> appendChild($id);//将$id设为index节点的属性,以下类同
$index -> appendChild($title);
$index -> appendChild($content);
$index -> appendChild($url);
$index -> appendChild($author);
$index -> appendChild($sendtime);
 
$root -> appendChild($index);//设置index为root字节点
 
$doc -> appendChild($root);//设置root为跟节点
 
$doc -> save($xmlpatch);//保存文件
 
echo $xmlpatch . &#39; has create success&#39;;
 
?>

Add xml node

 <?php 
$xmlpatch = &#39;index.xml&#39;; 
$_id = &#39;3&#39;; 
$_title = &#39;title3&#39;; 
$_content = &#39;content3&#39;; 
$_author = &#39;author3&#39;; 
$_sendtime = &#39;time3&#39;; 
$_htmlpatch = &#39;3.html&#39;; 
$doc = new DOMDocument(); 
$doc -> formatOutput = true; 
if($doc -> load($xmlpatch)) { 
$root = $doc -> documentElement;//获得根节点(root) 
$index = $doc -> createElement(&#39;index&#39;); 
$url = $doc -> createAttribute(&#39;url&#39;); 
$patch = $doc -> createTextNode($_htmlpatch); 
$url -> appendChild($patch); 
$id = $doc -> createAttribute(&#39;id&#39;); 
$newsid = $doc -> createTextNode($_id); 
$id -> appendChild($newsid); 
$title = $doc -> createAttribute(&#39;title&#39;); 
$newstitle = $doc -> createTextNode($_title); 
$title -> appendChild($newstitle); 
$content = $doc -> createTextNode($_content); 
$author = $doc -> createAttribute(&#39;author&#39;); 
$newsauthor = $doc -> createTextNode($_author); 
$author -> appendChild($newsauthor); 
$sendtime = $doc -> createAttribute(&#39;time&#39;); 
$newssendtime = $doc -> createTextNode($_sendtime); 
$sendtime -> appendChild($newssendtime); 
$index -> appendChild($id); 
$index -> appendChild($title); 
$index -> appendChild($content); 
$index -> appendChild($url); 
$index -> appendChild($author); 
$index -> appendChild($sendtime); 
$root -> appendChild($index); 
$doc -> save($xmlpatch); 
echo $_id . &#39; has been added in &#39; . $xmlpatch; 
} else { 
echo &#39;xml file loaded error!&#39;; 
} 
?>

Delete xml node

<?php 
$xmlpatch = &#39;index.xml&#39;; 
$_id = &#39;3&#39;; 
$doc = new DOMDocument(); 
$doc -> formatOutput = true; 
if($doc -> load($xmlpatch)) { 
$root = $doc -> documentElement; 
$elm = $root -> getElementsByTagName(&#39;index&#39;); 
foreach ($elm as $new) { 
if($new -> getAttribute(&#39;id&#39;) == $_id) { 
if($root -> removeChild($new)) { 
echo $_id . &#39; has been deleted&#39;; 
} else { 
echo $_id . &#39; delete failed&#39;; 
} 
} 
} 
$doc -> save($xmlpatch); 
} else { 
echo &#39;xml file loaded error!&#39;; 
} 
?>

Modify XML node

 <?php 
$xmlpatch = &#39;index.xml&#39;; 
$_id = &#39;2&#39;; 
$_title = &#39;has been changed&#39;; 
$_content = &#39;has been changed&#39;; 
$doc = new DOMDocument(); 
$doc -> formatOutput = true; 
if($doc -> load($xmlpatch)) { 
$root = $doc -> documentElement; 
$elm = $root -> getElementsByTagName(&#39;index&#39;); 
$checkexist = 0; 
foreach ($elm as $new) { 
if($new -> getAttribute(&#39;id&#39;) == $_id) { 
$new -> setAttribute(&#39;title&#39;, $_title); 
$new -> nodeValue = $_content;//修改节点值,真是太意外了,没想到跟JS一样直接能赋值... 
//$new -> removeChild($new -> nodevalue); 
$checkexist = 1; 
} 
} 
if($checkexist == 0) { 
echo $_id . &#39; is not found in &#39; . $xmlpatch; 
} else { 
$doc -> save($xmlpatch); 
echo $_id . &#39; has been changed&#39;; 
} 
} else { 
echo &#39;xml file loaded error!&#39;; 
} 
?>

The above is the detailed content of How to modify xml in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn