0
我有一個PHP腳本使用xmlreader讀取一個xml文件,然後將數據傳遞給我的數據庫,這一切工作正常。儘管如此,我仍然爲圖像苦苦掙扎。我只能弄清楚如何獲得每個屬性的第一個圖像。這裏是XMLphp xmlreader獲取所有子節點
<properties>
<Property>
<propertyid>17229-122</propertyid>
<lastUpdateDate>2017-08-02</lastUpdateDate>
<category>Residential For Sale</category>
<images>
<image number="1">
<image>domain.com/imagefile1212.jpg</image>
<alttext/>
</image>
<image number="2">
<image>domain.com/imagefile12dfs2.jpg</image>
<alttext/>
</image>
<image number="3">
<image>domain.com/imagefile1212.jpg</image>
<alttext/>
</image>
</images>
我的PHP看起來像這樣
$theFeed = "locationofthexmlfile.xml";
$reader = new XMLReader();
$reader->open($theFeed);
while($reader->read()) {
if ($reader->nodeType == XMLReader::ELEMENT && $reader->name == 'Property') {
$propCount++;
// Get children of property
$doc = new DOMDocument();
$xml = simplexml_import_dom($doc->importNode($reader->expand(), true));
#### get the data
$ref = $xml->propertyid; // this works fine
$img1 = $xml->images->image->image; /// this gets the first image
?????? how to I get all the other images like $img2,$img3 etc
}
}
的示例中,我想我的問題是,如何我得到的圖像節點的所有子節點?但我只是不能工作我們的。或者我應該通過尋找atrribute number ='1'等來定位每個圖像。
任何幫助或指針將不勝感激
您迭代屬性或使用SimpleXMLElement :: xpath(),就像直接將XML加載到SimpleXML中一樣。 * btw *'new DOMDocument()'應該在循環之外,並且可以將它作爲參數提供給'$ reader-> expand()' - 使得importNode()不必要。 – ThW
謝謝TWH我現在就來看看 –