0

这是我今天上一篇文章的扩展,可以在这里找到:点击这里

现在我想根据 id 属性访问另一个属性并更改它。这是我修改后的 xml 文件:

<?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";
$xml = simplexml_load_file('items.xml');  

$itemsList = $xml->xpath('/document/item[@id = "a12sd"]');             

$itemsList[0]->name = "Arnold";

$xml->asXml("items.xml");

现在我需要访问 id="a12sd" 的属性年龄并将年龄更新为:26

知道如何为给定的 id 达到该属性并更改该值。

注意:在更改值之前,用户只知道“id”值,因此基于 id 值我想更改该特定 id 的年份属性。

谢谢

4

1 回答 1

4
$itemsList[0]->age->attributes()->years = 26;
于 2012-06-19T14:51:34.240 回答