[英]Xpath get specific attribute values
我得到這個XML:
<shipping_line>
<article id="960382" quantity="500" />
<article id="960560" quantity="150" />
<article id="960426" quantity="250" />
<article id="1177" quantity="100" >
<product>5500070000126273</product>
<product>5500070000126264</product>
<product>5500070000126255</product>
<product>5500070000126246</product>
<product>5500070000126237</product>
</article>
</shipping_line>
我訪問文章元素的atributes
ID和quantity
是這樣的:
$atrs = $xml->xpath('//article[not(node())]/@quantity | //article[not(node())]/@id');
現在我想訪問這兩個foreach的2個值:
foreach ($atrs as $id => $val ) {
error_log(print_r($val , true));
}
我的錯誤日志顯示了這一點:
SimpleXMLElement Object\n(\n [@attributes] => Array\n (\n [id] => 960382\n )\n\n)\n
SimpleXMLElement Object\n(\n [@attributes] => Array\n (\n [quantity] => 500\n )\n\n)\n
SimpleXMLElement Object\n(\n [@attributes] => Array\n (\n [id] => 960560\n )\n\n)\n
SimpleXMLElement Object\n(\n [@attributes] => Array\n (\n [quantity] => 150\n )\n\n)\n
SimpleXMLElement Object\n(\n [@attributes] => Array\n (\n [id] => 960426\n )\n\n)\n
SimpleXMLElement Object\n(\n [@attributes] => Array\n (\n [quantity] => 250\n )\n\n)\n
我如何訪問2個值,以便可以使用someFunctionUsing2Values($article_no , $quantity)
類的函數
這是我的處理方式:
$xml = new SimpleXMLElement('
<shipping_line>
<article id="960382" quantity="500" />
<article id="960560" quantity="150" />
<article id="960426" quantity="250" />
<article id="1177" quantity="100" >
<product>5500070000126273</product>
<product>5500070000126264</product>
<product>5500070000126255</product>
<product>5500070000126246</product>
<product>5500070000126237</product>
</article>
</shipping_line>');
$nodes = $xml->xpath('//article[not(node())]');
foreach ($nodes as $node)
{
fn($node['id'], $node['quantity']);
}
function fn($id, $quantity)
{
echo "$id -> $quantity<br>";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.