1
我已經創建了一個XML文件,該文件具有特許經營結構列表。問題是我想通過它的id來獲得一個特許經營權,而不必遍歷整個列表。PHP根據屬性獲取節點的簡單XML
這是我如何得到第一個特許經營的屬性。但我想要取回一個特權對象,其ID爲'3'。我會想到的是,ID是取勝的關鍵,但它不是,請看下圖:
SimpleXMLElement Object
(
[@attributes] => Array
(
[id] => 1
[name] => Franchise 1
[aid] =>
)
)
這裏是我訪問第一個特許經營權的屬性,但是這不是對我很有幫助。
$this->xmlData->franchises->franchise->attributes()
下面是XML
<?xml version="1.0" encoding="UTF-8"?>
<data>
<franchises>
<franchise id="1" name="Franchise 1" >
<header>
<accountId>2354435435</accountId>
</header>
<used-list>
<accountId>2354435435</accountId>
</used-list>
<used-detail>
<accountId>2354435435</accountId>
</used-detail>
<contact-us>
<accountId>2354435435</accountId>
</contact-us>
<new-detail>
<accountId>2354435435</accountId>
</new-detail>
<left-column>
<accountId>2354435435</accountId>
</left-column>
<new-list>
<accountId>2354435435</accountId>
</new-list>
<offer-detail>
<accountId>2354435435</accountId>
</offer-detail>
<popup>
<accountId>2354435435</accountId>
</popup>
</franchise>
<franchise id="2" name="Franchise 2" >
<header>
<accountId>2354435435</accountId>
</header>
<used-list>
<accountId>2354435435</accountId>
</used-list>
<used-detail>
<accountId>2354435435</accountId>
</used-detail>
<contact-us>
<accountId>2354435435</accountId>
</contact-us>
<new-detail>
<accountId>2354435435</accountId>
</new-detail>
<left-column>
<accountId>2354435435</accountId>
</left-column>
<new-list>
<accountId>2354435435</accountId>
</new-list>
<offer-detail>
<accountId>2354435435</accountId>
</offer-detail>
<popup>
<accountId>2354435435</accountId>
</popup>
</franchise>
</franchises>
</data>
幫助將不勝感激的結構。
這是否涉及所有子元素?如果這樣會更糟糕 – SMKS
是的,'$ result = $ xml-> xpath(「// franchises/franchise [@ id ='2']」); '返回一個SimpleXMLElement對象與查詢結果的所有子節點。 –