我已經加載了一個xml文件,並且我想要一個特定的節點,當一個子節點存在時。檢查子節點是否存在並獲取xml中的父節點
例如:如果supplierItem-> supplier-> id是「0101」我想從此特定supplierItem中獲取庫存「1」。所以我需要特定供應商ID的父母股票節點。
我的XML看起來像這樣
<product>
<supplierItem>
<id>0001</id>
<supplier>
<id>0101</id>
<name>Company_1</name>
</supplier>
<supplierItemId>Product_1_ID</supplierItemId>
<productName>Product_1</productName>
<stock>1</stock>
</supplierItem>
<id>0002</id>
<supplier>
<id>0202</id>
<name>Company_2</name>
</supplier>
<supplierItemId>Product_1_ID</supplierItemId>
<productName>Product_1</productName>
<stock>2</stock>
</supplierItem>
<id>0003</id>
<supplier>
<id>0303</id>
<name>Company_3</name>
</supplier>
<supplierItemId>Product_1_ID</supplierItemId>
<productName>Product_1</productName>
<stock>3</stock>
</supplierItem>
</product>
我的第一個學嘗試是:
$stocks = $xml->xpath("/product/supplierItem");
foreach ($stocks as $stock)
{
echo($stock); // get all stocks
}
任何想法?我堅持下去...... 在此先感謝
好的答案,以包括'SimpleXML'代碼:'$股票= $ XML->的xpath( 「/產物/ supplierItem [ID = '0101'] /股票」 )[0];' – michi
如果找不到節點(且數組爲空),則直接訪問節點可能會導致PHP錯誤消息。對於穩定的源代碼,您需要驗證您在訪問節點之前是否有節點。就像使用foreach()一樣。 – ThW