使用 xpath 过滤 php simple_xml 加载结果

怀特沃尔特

我需要一点帮助来找出 PHP 中 XML 输出 simple_xml_load 中的 XPath 搜索。我有这个 XML:

<PRODUCTS>
  <PRODUCT>
    <CODE>5009444</CODE>
    <NAME>Prova</NAME>
    <IMG>prova.jpg</IMG>
  </PRODUCT>
  ....
  ....
</PRODUCTS>

我想过滤并遍历这些数据以查找并返回所有出现的变量代码。我使用了这种语法但没有用

$id = 1;
$struct = \App\Models\Structures::where('id', $id)->first();
$url = 'http://demo.villaggissimi.it/public/xml/CMP_' . $struct->operators->pk .'.xml';
$xc = simplexml_load_file($url) or die("Non sono stati trovati risultati");
$xml2 = $xc->xpath("/PRODUCTS/PRODUCT[CODE='$struct->code']");
return response()->json($xml2);
总重量

Xpath 表达式的结果是一个节点列表,SimpleXMLElement:xpath() 只支持这种结果,它总是返回一个 SimpleXMLElement 对象数组(对于有效的 Xpath 表达式)。

因此,foreach()/if()如果未找到任何元素,您仍然必须使用来避免错误消息。

但是,您可以将结果限制为只有一个节点的列表。

foreach ($xc->xpath("/PRODUCTS/PRODUCT[CODE='$struct->code'][1]") as $productNode) {
  return response()->json($productNode);
}
return FALSE;

$productNodes = $xc->xpath("/PRODUCTS/PRODUCT[CODE='$struct->code'][1]");
if (count($productNodes) > 0) {
  return response()->json($productNodes[0]);
}
return FALSE;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

加载xml文档并使用xpath对其进行过滤

来自分类Dev

PHP注意:尝试在PHP中使用xpath查询获取XML过滤时获取非对象的属性

来自分类Dev

PHP XPath查询XML?

来自分类Dev

如何使用PHP,JS将二级过滤添加到过滤结果中

来自分类Dev

使用XPath按多个值过滤

来自分类Dev

在PHP中使用xpath错误的结果数

来自分类Dev

R:使用xpath过滤节点

来自分类Dev

PHP使用xpath输出

来自分类Dev

在PostgreSQL中使用XPath过滤多个XML节点

来自分类Dev

在PHP中使用xpath过滤XML属性

来自分类Dev

使用xpath子过滤html

来自分类Dev

使用XPATH进行JMS过滤

来自分类Dev

仅在PHP中使用XPath属性XML

来自分类Dev

Xpath过滤使用curl接收到的xml结果

来自分类Dev

加载xml文档并使用xpath对其进行过滤

来自分类Dev

在PHP中使用substr()在xpath结果上不起作用

来自分类Dev

PHP XPath查询XML?

来自分类Dev

使用Javascript / JQuery过滤XML结果

来自分类Dev

使用XPath和PHP过滤XML文档

来自分类Dev

使用JOOX和XPATH(JAVA)使用2个条件过滤XML

来自分类Dev

使用PHP按日期过滤SQL结果

来自分类Dev

在PHP中使用xpath错误的结果数

来自分类Dev

PHP使用xpath输出

来自分类Dev

PHP过滤XML xpath并导出图像

来自分类Dev

PHP根据数据过滤结果

来自分类Dev

PHP中如何使用If/else语句过滤mysql结果

来自分类Dev

使用 simple_xml 计算 XML 子节点中出现的次数

来自分类Dev

使用 PHP 过滤数组

来自分类Dev

使用 XML 过滤 SQL 结果