Php 查找选定的XML节点';孩子
我想用php通过我的XML选择的id节点来查找库存数量。你能帮我更新代码吗?(例如,我想获取id=122的库存计数)Php 查找选定的XML节点';孩子,php,xml,Php,Xml,我想用php通过我的XML选择的id节点来查找库存数量。你能帮我更新代码吗?(例如,我想获取id=122的库存计数) $myproduct=您的xml无效,因为它包含多个根节点 例如,如果您的根目录是,则可以使用foreach在$xml->product中循环 循环中的变量$product为类型,您可以将其转换为字符串以获取值 $myproduct=<<<XML <products> <product> <id>121
$myproduct=您的xml无效,因为它包含多个根节点
例如,如果您的根目录是
,则可以使用foreach
在$xml->product
中循环
循环中的变量$product
为类型,您可以将其转换为字符串以获取值
$myproduct=<<<XML
<products>
<product>
<id>121</id>
<name>product 1</name>
<stock>14</stock>
</product>
<product>
<id>122</id>
<name>product 2</name>
<stock>8</stock>
</product>
<product>
<id>123</id>
<name>product 3</name>
<stock>26</stock>
</product>
</products>
XML;
$xml=simplexml_load_string($myproduct);
foreach($xml->product as $product) {
if ((string)$product->id === "122") {
echo $product->stock;
}
}
这将给你:
八,
您的$myproduct
不包含有效的XML文档。请显示您的实际代码或工作代表示例。您的xml没有根元素。如果您真的要使用这样的片段,请添加-$xml=simplexml\u load\u字符串('.$myproduct'.')代码>但是。。有没有更快的方法?需要8秒:/
$myproduct=<<<XML
<products>
<product>
<id>121</id>
<name>product 1</name>
<stock>14</stock>
</product>
<product>
<id>122</id>
<name>product 2</name>
<stock>8</stock>
</product>
<product>
<id>123</id>
<name>product 3</name>
<stock>26</stock>
</product>
</products>
XML;
$xml=simplexml_load_string($myproduct);
foreach($xml->product as $product) {
if ((string)$product->id === "122") {
echo $product->stock;
}
}
$product = $xml->xpath("/products/product[id='122']");
echo $product[0]->stock;