php xml 修改元素节点_PHP:如何用XMLWriter替换现有的XML节点

本文介绍如何在PHP中使用XMLReader读取XML,遇到的问题及解决办法,通过DOMDocument导入并执行DOM操作,包括添加文本节点。示例展示了在XMLReader-iterators库中利用这些技术的实际应用。
摘要由CSDN通过智能技术生成

默认扩展节点(问题中缺少)

$node = $xmlReader->expand();

使用XMLReader无法编辑

(通过该名称有意义)。但是,如果您将其导入新的DOMNode,则可以将特定的DOMDocument 设为:

$doc = new DOMDocument();

$node = $doc->importNode($node);

然后,您可以执行DOM提供的任何DOM操作,例如例如,添加文本节点:

$textNode = $doc->createTextNode('New Child TextNode added :)');

$node->appendChild($textNode);

如果您更喜欢使用SimpleXML进行操作,您也可以在将导入DOMDocument之后将节点导入SimpleXML :

$xml = simplexml_import_dom($node);

上面的示例使用我的xmlreader-iterators,只为XMLReader提供了一些更好的界面:

$reader = new XMLReader();

$reader->open($xmlFile);

$elements = new XMLElementIterator($reader, 'data');

foreach ($elements as $element)

{

$node = $element->expand();

$doc = new DOMDocument();

$node = $doc->importNode($node, true);

$node->appendChild($doc->createTextNode('New Child TextNode added :)'));

echo $doc->saveXML($node), "\n";

}

使用以下XML文档:

上面的小示例代码产生以下输出:

New Child TextNode added :)

New Child TextNode added :)

New Child TextNode added :)

New Child TextNode added :)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值