Php 如何按属性修改XML节点 $xmlStr='1 福 酒吧 '; $xml=新的SimpleXML($xmlStr);
如何在SimpleXML对象中将Foo更改为Baobab(不使用PHP循环)?当您使用XPath时,正如您所说,它返回一个数组。由于这是您要更改的第一项,因此请使用Php 如何按属性修改XML节点 $xmlStr='1 福 酒吧 '; $xml=新的SimpleXML($xmlStr);,php,simplexml,Php,Simplexml,如何在SimpleXML对象中将Foo更改为Baobab(不使用PHP循环)?当您使用XPath时,正如您所说,它返回一个数组。由于这是您要更改的第一项,因此请使用[0] 要更新该值,必须让SimpleXML知道要设置元素的值,最简单的方法是使用(在本例中)是$foo[0]。虽然$foo不是数组,但它愚弄SimpleXML设置元素的值,而不是为名为$foo的变量赋值 $xmlStr = '<?xml version="1.0" encoding="utf-8"?> <playe
[0]
要更新该值,必须让SimpleXML知道要设置元素的值,最简单的方法是使用(在本例中)是$foo[0]
。虽然$foo
不是数组,但它愚弄SimpleXML设置元素的值,而不是为名为$foo
的变量赋值
$xmlStr = '<?xml version="1.0" encoding="utf-8"?>
<players>
<string name="Paul">Foo</string>
<string name="Peter">Bar</string>
</players>';
$xml = new SimpleXML($xmlStr);
你把SimpleXML文档弄红了吗?是的。因此,我使用xpath获取相关节点-但是xpath返回一个数组,因此修改它是无用的。我认为这可以帮助您,在示例#9中,前面已经询问过这一点,快速搜索“simplexml中的替换值”会将此页面作为顶部结果。
$xmlStr = '<?xml version="1.0" encoding="utf-8"?>
<players>
<string name="Paul">Foo</string>
<string name="Peter">Bar</string>
</players>';
$xml = new SimpleXMLElement($xmlStr);
$foo = $xml->xpath('//string[@name="Paul"]')[0];
$foo[0] = 'Baobab';
echo $xml->asXML();
$xml->string[0] = 'Baobab';