【问题标题】:How to parse this XML data..?如何解析这个 XML 数据..?
【发布时间】:2020-11-28 23:45:38
【问题描述】:

我正在处理this XML 数据,并且我正在尝试遍历 OrderArray 元素中的 Order 元素。

我可以使用这个来定位元素:

$ebay_orders = $DOM->getElementsByTagName("Order");

这会返回数组中Orders的数量,例如:

DOMNodeList Object ( [length] => 2 )

我已经有一段时间没有像这样使用 XML,我正在努力记住如何进入这些订单元素并提取单个元素值(即 OrderID、OrderStatus 等)

任何有关这方面的信息将不胜感激。谢谢!

【问题讨论】:

标签: php xml dom


【解决方案1】:

在 PHP XML 中,我们可以使用节点值来获取特定元素。例如,我试图在以下 xml 中获取第一个订单的 OrderID。您可以从托管 url 或示例文件中获取 xml 数据。它取决于您的要求。出于演示目的,我将使用托管文件。代码可以是:

$file = "sample.xml";
$url = "https://www.tekbuff.com/ebay-apps/logs/GetOrdersResponse_1596940374.xml";

$xml = simplexml_load_file($url); /* Replace $url with $file */

echo $xml->OrderArray->Order[0]->OrderID; 

这里$xml->OrderArray->Order[0]->OrderID; 将检索 OrderID,如 19-05533-xxxx 的第一个键。同样,您可以检索任意数量的节点值。

【讨论】:

  • 好吧,我实际上不是从文件加载的。那只是一个样本。我在一个脚本中工作,该脚本通过 API 拉回这些数据,因此 XML 字符串可以直接使用,而不是加载文件。有没有类似的东西?
  • 啊,simplexml_load_string。我会玩这个,然后我会接受你的回答。谢谢。
  • 当然。如果您将 xml 存储在文件或变量中,我已经更新了答案
猜你喜欢
  • 2013-06-09
  • 2012-01-24
  • 1970-01-01
  • 1970-01-01
  • 2014-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-07
相关资源
最近更新 更多