【发布时间】:2011-05-09 19:23:45
【问题描述】:
我有一个简单的任务:从 XML 文档中删除 <places> 节点及其后代,留下其他节点。
我试过这段代码,但它没有工作......
$document->preserveWhiteSpace = false;
$books = $xpath->query('piletilve_info/places');
//echo "4";
foreach ($books as $places) {
while($places->hasChildNodes()) {
$places->removeChild($places->childNodes->item(0));
}
$places->parentNode->removeChild($places);
}
要处理的源 XML:
<piletilve_info>
<places>
<place>
...
</place>
</places>
<other node>
...
</other node>
</piletilve_info>
在实际数据中还有更多不是地点的节点,但为简单起见,此示例仅显示了几个。
我看到了 C# 示例,但我无法将代码移植到 PHP。
澄清:在代码 sn-p 中,变量$books 只是查询列表的持有者。这个名字没有意义。
【问题讨论】:
-
请注意,“它不起作用”几乎没有告诉我们任何信息。与其告诉我们某件事没有按照您的意愿去做,不如告诉我们它做了什么。除此之外,这是一篇很好的文章:你告诉我们你想要完成什么,并显示一个minimal yet fairly complete and representational code sample 和它所处理的数据。