0
通過一個變量只是一個簡單的問題,嘗試不同的方式來完成這一點,但沒有成功。我正在嘗試使用xpath檢查屬性值,如果屬性值匹配,我更改xml中該標記的參數。Xpath屬性值檢查使用PHP
這工作:
$obj= $xml->xpath('/document/item[@id = "a12sd"]');
這是不行的,因爲我需要通過一個變量來傳遞值檢查與屬性值
$checkID = "a12sd";
$obj= $xml->xpath('/document/item[@id = $checkID]');
任何建議,我怎麼能糾正這個問題。
編輯:
XML文件:
<?xml version="1.0" encoding="ISO-8859-1"?>
<document>
<item id="a12sd">
<name>James</name>
<pdf>0023.pdf</pdf>
</item>
<item id="rdf23">
<name>Alex</name>
<pdf>0178.pdf</pdf>
</item>
<item id="2we34">
<name>Tom</name>
<pdf>0886.pdf</pdf>
</item>
<item id="123de">
<name>Robby</name>
<pdf>1239.pdf</pdf>
</item>
</document>
PHP代碼:
$id = "a12sd";
$xml = simplexml_load_file('items.xml');
$who_is_who = $xml->xpath('/document/item[@id = "a12sd"]');
$who_is_who[0]->name = "Arnold";
$xml->asXml("items.xml");
感謝
嘗試將變量放在引號中,就像您在第一行所做的那樣:'[@id =「$ checkID」]' –
@Tino,按您的建議做,但出錯 – 125369
這將有助於準確瞭解哪些錯誤; ) –