我想從具有特定屬性'id'的xml中選擇一個元素。 這是我的xml:查找具有屬性的元素 - SimpleXML xpath
<listitems>
<item id="1">
<name>item 1</name>
</item>
<item id="2">
<name>item 2</name>
</item>
<item id="3">
<name>item 3</name>
</item>
</listitems>
這個php文件:
<?php
$simplexml = simplexml_file_load('test.xml');
$item = $simplexml->xpath('item[@id="1"]');
?>
然後,如果我嘗試,例如:
<?php $item->addchild('description','textdescription'); ?>
我在最後一行出現此錯誤: 「致命錯誤:調用一個非對象的成員函數addchild()」
有沒有事情錯了?
我不知道SimpleXML,所以這不是一個答案。但是,我敢打賭,它的默認行爲(與XSLT一致)是返回XPath的字符串值,在本例中爲「item 1」。我懷疑還有另一個函數返回NODELIST。 – parsifal
其實它恰恰相反。無論xpath表達式的實際值如何,SimpleXML xpath總是返回'SimpleXMLElement'(一個元素列表)。 –
這是'simplexml_load_file'而不是'simplexml_file_load' – Gordon