php simplexml 修改xml文件和添加新节点

  • 内容
  • 评论
  • 相关

很多同学在相信都使用过xml文件,这是个平台无关性的通用的数据交换格式,例如在使用java web的web.xml配置文件的时候,或者是在进行数据交互的时候使用xml文件,这里如何解析xml有很多方法,例如对于php可以使用DOMDocument API或者simplexml类,Java可以使用DOM或者SAX,其实都是大同小异,对于如何解析本文暂且不讲,先讲一下如何使用php的simplexml来新增节点和修改节点的值。
例如我有一个xml文件solrConfig.xml:

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <config>

    </config>
</root>

我们如果要新增一个节点:

<?php
    $solrXml = simplexml_load_file("solrConfig.xml");
    $solrXml->config->addChild('switch','3');
    $newXml = $solrXml->asXML();
    $fp = fopen("solrConfig.xml","w+");
    var_dump(fwrite($fp,$newXml));
?>

运行看solrConfig.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <config>
        <switch>3</switch>
    </config>
</root>

如果要修改这个节点值的话:

<?php
    $solrXml = simplexml_load_file("solrConfig.xml");
    $solrXml->config->switch = 4;
//    $solrXml->config->addChild('switch','3');
    $newXml = $solrXml->asXML();
    $fp = fopen("solrConfig.xml","w+");
    var_dump(fwrite($fp,$newXml));
?>

这样这个节点的值就变成我们想要的了:

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <config>
        <switch>4</switch>
    </config>
</root>

评论

0条评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注