【发布时间】:2011-01-06 17:21:25
【问题描述】:
如何使用 simpleXML 编辑 xml 文件中的值?
我知道如何创建文件,但不知道如何编辑现有文件中的值?
【问题讨论】:
如何使用 simpleXML 编辑 xml 文件中的值?
我知道如何创建文件,但不知道如何编辑现有文件中的值?
【问题讨论】:
使用 SimpleXML 加载您的 XML 并进行更改。然后您可以使用asXML 方法将 XML 保存到文件中(您将文件名作为参数传递):
$xml = new SimpleXMLElement( $xmlString );
// do the manipulation here
$xml->asXML ( '/path/to/your/file.xml' );
【讨论】:
请记住,尽管您可以使用 SimpleXML 编辑 XML,但存在一些限制。例如,您可以移除或删除节点或元素。您可以清除它以使其空白,但您不能完全消除它。为此,您需要 DOM 或类似的东西。
【讨论】:
我是这样工作的(它完全一样,但它可能会有所帮助): 文件 test.xml 可以是任何扩展名,只要它是纯 xml 文本即可。
test.xml:
<?xml version="1.0" encoding="utf-8"?>
<sitedata>
<Texts>
<ANode SomeAttr="Green" OtherAttr="Small"/>This is the text I'm changing.</ANode>
</Texts>
</sitedata>
还有 PHP 代码:
$xml=simplexml_load_file("test.xml") or die("Error: Cannot create object");
$SomeVar="<b>Text. This supports html code.</b><br/>I also work with variables, like GET or POST.";
$xml->Texts[0]->{'ANode'}=$SomeVar;
$xml->asXml('test.xml');
结果 test.xml:
<?xml version="1.0" encoding="utf-8"?>
<sitedata>
<Texts>
<ANode SomeAttr="Green" OtherAttr="Small"/><b>Text. This supports html code.</b><br/>I also work with variables, like GET or POST.</ANode>
</Texts>
</sitedata>
希望对你有帮助!
【讨论】: