【发布时间】:2015-05-11 16:04:57
【问题描述】:
我正在尝试从下面的 XML 中获取“TaxAmount”的值,该 XML 在不同的地方包含相同的标签名称。
从下面的 XML 中,我想在标签 'Order' 下将 'TaxAmount' 的值设为 '7.2',但我总是在标签 'OrderItemList 中的标签 'OrderItem' 下将 'TaxAmount' 设为 '1.2' '。
谁能帮我将“TaxAmount”的值设为“7.2”?
我从其他类似的问题中尝试了很多东西,但没有成功。
<Order>
<CustomerID />
<IsCustomerCompany>false</IsCustomerCompany>
<OrderTimezone />
<OrderDescription />
<OrderItemList>
<OrderItem>
<OrderItemID>1234</OrderItemID>
<ItemCode />
<TaxAmount>6.0</TaxAmount>
</OrderItem>
<OrderItem>
<OrderItemID>1245</OrderItemID>
<ItemCode />
<TaxAmount>1.2</TaxAmount>
</OrderItem>
</OrderItemList>
<Currency>USD</Currency>
<Amount>120</Amount>
<TaxAmount>7.2</TaxAmount>
</Order>
我正在使用的代码是,
use XML::DOM;
$xml = XML::DOM::Parser->new->parse( $self->fullresponse )->getDocumentElement;
my $order_tag = $xml->tag('Order');
my $tax_amount = $order_tag->getValue('TaxAmount');
感谢任何帮助。
【问题讨论】:
-
对不起,它的拼写错误。修改了我的问题。
-
您需要显示您需要帮助的代码
-
我正在尝试,我的 $tax_amount = $order_tag->getValue('TaxAmount');,其中 $order_tag 是 $xml->tag(''Order'');但我仍然获得“1.2”的价值。
-
请在上下文中显示您的代码。您还没有解释您正在使用的模块以及许多其他内容
-
我不确定代码是否真的有效:
Can't locate object method "tag" via package "XML::DOM::Element"。请问你能用一个工作示例更新它吗?
标签: xml perl xml-parsing perl-module perl-data-structures