php - 如何使用 simplexmlelement 在 PHP 中解析 XML?

标签 php xml parsing

我正在尝试使用 simplexmlelement 在 php 中对 xml 文件进行语法分析。

 <OrderResponse>
      <OrderResponseReferences>
           <BuyersOrderNumber Preserve="true">100000002</BuyersOrderNumber>
           <SuppliersOrderReference Preserve="true">6711637</SuppliersOrderReference>
      </OrderResponseReferences>
 </OrderResponse>

我正在使用下面的代码访问 BuyersOrderNumber

$local_file_path = "C:/etrade_files/Orders/order_acknowledgements/ORA1707220-05-2015--16-48-31.xml";
        
$xml = simplexml_load_file($local_file_path);
        
foreach($xml->children() as $child) 
{
    $child = $child->getName();
            
    if($child == "OrderResponseReferences")
    {
        $order_reference = $xml->$child->BuyersOrderNumber;
                
        print_r($order_reference);
    }   
}
        

结果:

 SimpleXMLElement Object ( [@attributes] => Array ( [Preserve] => true ) [0] => 100000002 )

我怎样才能得到订单号100000002

此外,此文件有多个订单行,如果有人可以解释我可以用来获取所有必需信息的逻辑,那将对我很有帮助。

 <OrderResponseLine>
      <LineNumber>1</LineNumber>
      <OrderResponseLineReferences>
           <BuyersOrderLineReference Preserve="true">100000002</BuyersOrderLineReference>
      </OrderResponseLineReferences>
      <Product>
           <SuppliersProductCode>108696</SuppliersProductCode>
      </Product>
      <Quantity>
           <Amount>2</Amount>
      </Quantity>
      <LineTotal>331.18</LineTotal>
 </OrderResponseLine>

最佳答案

如果您将对象转换为字符串,它将使用它的值并将其转换:

print_r((string) $order_reference);
// 100000002

我试过你的代码,你做得很好!只需 (string) 就足以让脚本运行。

关于php - 如何使用 simplexmlelement 在 PHP 中解析 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30392741/

相关文章:

php - 如何在不知道列名的情况下从 mysql 查询中检索表行?

javascript - 在 PHP 代码中调用 HTML 代码

java - 严重 : Error configuring application listener of class org. apache.struts2.tiles.StrutsTilesListener java.lang.NoClassDefFoundError:

xml - 去除 XSL 模板输出中的 XML 根节点

parsing - 解析日志并在 1 个命令中输出 2 个字符串

javascript parseInt 从字符串中删除空格

php - MySQL查询,按数字差异排序?

php - 用于验证以下类型模式的正则表达式

.net - XML xpath Visual Studio

parsing - 并行计算/解析列表元素(链接)