【问题标题】:XMLin not parsing XML properlyXMLin 没有正确解析 XML
【发布时间】:2013-06-10 11:03:04
【问题描述】:

我在$response_xml中有如下XML

<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;wholeSaleApi&gt;&lt;credentials&gt;&lt;referenceNumber&gt;&lt;/referenceNumber&gt;&lt;/credentials&gt;&lt;wholeSaleOrderResponse&gt;&lt;statusCode&gt;666&lt;/statusCode&gt;&lt;description&gt;Object reference not set to an instance of an object.&lt;/description&gt;&lt;/wholeSaleOrderResponse&gt;&lt;/wholeSaleApi&gt;</string>

当我使用

解析它时
my $xs = XML::Simple->new();
my $xmlDS = eval{ $xs->XMLin($response_xml) };

我得到以下数据结构

$xmlDS =  {
          'xmlns' => 'http://schemas.microsoft.com/2003/10/Serialization/',
          'content' => '<?xml version="1.0" encoding="utf-8"?><wholeSaleApi><credentials><referenceNumber></referenceNumber></credentials><wholeSaleOrderResponse><statusCode>666</statusCode><description>Object reference not set to an instance of an object.</description></wholeSaleOrderResponse></wholeSaleApi>'
        };

如何从中获取content 部分?

【问题讨论】:

  • 您的问题的主题是 XML::Simple 没有正确解析 XML,但您的问题主体只是询问如何从您返回的哈希中访问元素。是哪个?

标签: perl perl-module perl-data-structures


【解决方案1】:

你得到的是一个哈希引用。您可以使用以下语法来获取特定键:

my $content = $xmlDS->{content};

【讨论】:

  • 另一种访问内容的方法:my $content = ${$xmlDS}{content};
猜你喜欢
  • 2015-07-28
  • 2013-10-14
  • 2012-01-10
  • 1970-01-01
  • 2023-03-04
  • 1970-01-01
  • 2016-05-30
  • 2021-07-17
  • 1970-01-01
相关资源
最近更新 更多