Я загрузил xml-файл, и я хочу определенный узел, когда существует дочерний узел.Проверить, существует ли дочерний узел и получить родительский узел в xml
Например: если у поставщикаItem-> поставщик-> id есть «0101», я хочу получить запас «1» из этого конкретного поставщика. Поэтому мне нужен родительский узел узла конкретного идентификатора поставщика.
Мой 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>
Мой первый attemp были:
$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