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" の属性 age にアクセスし、age を次のように更新する必要があります: 26

特定のIDのその属性に到達し、その値を変更する方法を考えてください。

注:値を変更する前に、ユーザーは「id」値しか知らないため、id値に基づいて、その特定のidの年属性を変更したいと考えています。

ありがとう

4

1 に答える 1

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