【发布时间】:2012-04-25 19:35:35
【问题描述】:
给定以下 XML:
<?xml version="1.0" encoding="utf-8" ?>
<Request>
<form_submit>
<form_submit id = 1424>
<form_id>1424</form_id>
<field1 id=’5’> <![CDATA[ test ]]> </field1>
<field2 id=’6’> <![CDATA[ test2 ]]> </field2>
</form_submit>
</form_submit>
</Request>
我正在尝试获取 field1 和 field2 元素的原始值。我正在使用以下代码:
foreach my $node ( $xml_request->findnodes('Request/*/*/*[@id]') )
{
my $form_field_value = $node->textContent;
print "Value:\"$form_field_value\"\n";
}
但是输出是:
Value:" test "
Value:" test2 "
如何使用所有特殊字符检索原始数据和原样的准确数据?所以输出是:
Value:" <![CDATA[ test ]]> "
Value:" <![CDATA[ test2 ]]> "
谢谢。
【问题讨论】:
-
如果文本的XML是
&lt;foo&gt;怎么办? -
仅供参考,您的要求带有糟糕的设计。