1
PHPでXMLを編集しようとしています。現在のようなものを見XML:PHPアクセスXMLノード要素
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Main Title</title>
<link>http://exmaple.com</link>
<description> blahblahblah </description>
<language>en</language>
<item>
<title>Tite1</title>
<link>http://www.example.com (THIS IS WHAT I WANT)</link>
<description>blah blah blah</description>
</item>
.
.
.
</channel>
</rss>
は、私は第二レベルのリンクにアクセスしようとしましたが、私のコードは、最初のリンクノードの値を変更します。コードは次のとおりです。
$xml->load('http://www.google.com/doodles/doodles.xml');
$element = $xml->getElementsByTagName('channel')->item(0);
$secondlvl = $element->getElementsByTagName('item')->item(0);
$2ndlevellinknode = $element->getElementsByTagName('link')->item(0);
$2ndlevellinknode->nodeValue = $newvalue;
ご意見はありますか?また、このようなforループでこのコード行を使用することも可能です。
for ($i = 0; $i <= 20; $i++) {
$element = $xml->getElementsByTagName('channel')->item(0);
$secondlvl = $element->getElementsByTagName('item')->item(0);
$2ndlevellinknode = $element->getElementsByTagName('link')->item($i);
$2ndlevellinknode->nodeValue = $newvalue;
}
私は個人的には[PHPのSimpleXML](http://php.net/manual/en/book.simplexml.php)を使用する方がはるかに簡単です。 –
はい。 SimpleXmlを使用してください。 – busypeoples
$ Secondlevellinknode = $ secondlvl-> getElementsByTagName( 'link') - > item(0); //ない$ element-> getElementsByTagName( 'link') - > item(0); – Fivell