PHP访问XML节点元素
我正在尝试用PHP编辑一些XML。当前XML的外观类似于:PHP访问XML节点元素,php,xml,xml-parsing,Php,Xml,Xml Parsing,我正在尝试用PHP编辑一些XML。当前XML的外观类似于: <?xml version="1.0" encoding="utf-8"?> <rss version="2.0"> <channel> <title>Main Title</title> <link>http://exmaple.com</link> <description> blahblahblah <
<?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>
有什么建议吗?也可以在这样的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;
}
用于($i=0;$i getElementsByTagName('channel')->项(0);
$secondlvl=$element->getElementsByTagName('item')->item(0);
$2ndlevellinknode=$element->getElementsByTagName('link')->item($i);
$2ndlevellinknode->nodeValue=$newvalue;
}
这会给你一个想法
$f = simplexml_load_file('test.xml');
print $f->channel->title . "\n";
print $f->channel->link . "\n";
print $f->channel->description . "\n";
foreach($f->channel->item as $item) {
print $item->title . "\n";
}
我个人觉得更容易使用。$2ndlevellinknode=$secondlvl->getElementsByTagName('link')->item(0);//not$element->getElementsByTagName('link')->item(0);有人能举一个用SimpleXML做这个的例子吗?我可以用DomDocument做一些东西。你想把它替换成什么?我正在尝试替换第二级链接节点。
$f = simplexml_load_file('test.xml');
print $f->channel->title . "\n";
print $f->channel->link . "\n";
print $f->channel->description . "\n";
foreach($f->channel->item as $item) {
print $item->title . "\n";
}