使用XPath和PHP访问和更新XML中的属性值
这是我今天上一篇文章的延伸,可以在这里找到: 现在,我想基于id属性访问另一个属性,并对其进行更改。这是我修改过的xml文件:使用XPath和PHP访问和更新XML中的属性值,php,xml,xpath,Php,Xml,Xpath,这是我今天上一篇文章的延伸,可以在这里找到: 现在,我想基于id属性访问另一个属性,并对其进行更改。这是我修改过的xml文件: <?xml version="1.0" encoding="ISO-8859-1"?> <document> <item id="a12sd"> <name>James</name> <age years="25"/> <p
<?xml version="1.0" encoding="ISO-8859-1"?>
<document>
<item id="a12sd">
<name>James</name>
<age years="25"/>
<pdf>0023.pdf</pdf>
</item>
<item id="rdf23">
<name>Alex</name>
<age years="35"/>
<pdf>0178.pdf</pdf>
</item>
<item id="2we34">
<name>Tom</name>
<age years="25"/>
<pdf>0886.pdf</pdf>
</item>
<item id="123de">
<name>Robby</name>
<age years="28"/>
<pdf>1239.pdf</pdf>
</item>
</document>
现在我需要访问id=“a12sd”的属性age,并将age更新为:26
知道我如何为给定id访问该属性并更改该值吗
注意:在更改值之前,用户只知道“id”值,因此根据id值,我想更改该特定id的years属性
谢谢我假设实际上是有效的xml(
例如)?谢谢你指出它,xml数据更新了!我假设实际上是有效的xml(
),谢谢你指出,xml数据已经更新了!
$id = "a12sd";
$xml = simplexml_load_file('items.xml');
$itemsList = $xml->xpath('/document/item[@id = "a12sd"]');
$itemsList[0]->name = "Arnold";
$xml->asXml("items.xml");
$itemsList[0]->age->attributes()->years = 26;