1
<xml>
    <ns:foo attribute="bar">
        OLD TEXT DATA
    </ns:foo>
</xml>

XPath を使用して XML 名前空間を処理します。これはうまくいきません:

$xml->asXML('old.xml');

foreach ($xml->xpath('ns:foo') as $foo) {
    $foo['attribute'] = 'new bar';
    $foo = 'NEW TEXT DATA'; //This won't be saved by asXML().
}

$xml->asXML('new.xml');

でテキストの内容を変更するにはどうすればよいSimpleXMLElement::xpathですか?

4

1 に答える 1

0
$xml->asXML('old.xml');

foreach ($xml->xpath('ns:foo') as $foo) {
    $foo['attribute'] = 'new bar';
    $foo[0] = 'NEW TEXT DATA';
}

$xml->asXML('new.xml');
于 2013-09-23T17:49:46.113 に答える