很多同学在相信都使用过xml文件,这是个平台无关性的通用的数据交换格式,例如在使用java web的web.xml配置文件的时候,或者是在进行数据交互的时候使用xml文件,这里如何解析xml有很多方法,例如对于php可以使用DOMDocument API或者simplexml类,Java可以使用DOM或者SAX,其实都是大同小异,对于如何解析本文暂且不讲,先讲一下如何使用php的simplexml来新增节点和修改节点的值。
例如我有一个xml文件solrConfig.xml:[xml]
<?xml version="1.0" encoding="UTF-8"?>
<root>
<config>
</config>
</root>[/xml]
我们如果要新增一个节点:[php]
<?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));
?>[/php]
运行看solrConfig.xml文件:[xml]
<?xml version="1.0" encoding="UTF-8"?>
<root>
<config>
<switch>3</switch>
</config>
</root>[/xml]
如果要修改这个节点值的话:[php]
<?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));
?>[/php]
这样这个节点的值就变成我们想要的了:[xml]
<?xml version="1.0" encoding="UTF-8"?>
<root>
<config>
<switch>4</switch>
</config>
</root>[/xml]