我基本上是一名 java 开发人员,但我的客户在 perl 中给了我一个小任务。任务是我将获得 xml 输入,因为我需要搜索一个元素并打印它的值(将值保存在字符串变量中)。例如,在下面的 xml 中,我想读取 FileName 标记的值。
<ConnectHome SchemaVersion="1.0.8">
<TransType>0090</TransType>
<Node>
<ExternalFiles>
<FileName>some file name</FileName>
</ExternalFiles>
</Node>
</ConnectHome>
我正在使用 XML:Simple 库来解析 XML。而且我还可以使用下面的代码读取元素的值。
$xmlSimple = new XML::Simple(KeepRoot => 1);
$dataXML = $xmlSimple->XMLin("RepeatedElement.xml");
my $fileNameValue = $dataXML->{ConnectHome}->{Node}->{ExternalFiles}->{FileName};
但是我的客户想要使用元素名称搜索值,因为路径可能会在 xml 中更改。
"FileName"
而不是硬编码路径。
所以我的问题是如何通过元素名称而不是硬编码路径来获取值?有没有按名称搜索元素的方法?我将在字符串变量中传递元素的名称。