gpt4 book ai didi

Perl XML::Twig 问题请

转载 作者:行者123 更新时间:2023-12-05 01:00:07 26 4
gpt4 key购买 nike

我在 Perl 中玩弄 XML::Twig 库,我不太确定如何(甚至是否)我可以执行以下操作。我还没有完成代码,因为我什至不知道从哪里开始。我真的有一些想法,我可以(希望)从那里开始......

所以我想使用 XML::Twig 来查找值“This_Is_My_Name”,它是标签“MyClass.Name”的子值。我想我可以做这部分,但指导将不胜感激。

然后我想获取“MyClass.Code”LinkValue 编号,在下面的示例中为“987654321”。

希望这是有道理的。所以我不知道如何以这种方式四处走动。

请帮忙 :)

所以我的 XML 文档如下,

<Object Class="MyClass" Id="123456789">
<Property Name="MyClass.Link">
<LinkValue>
<Id>2468</Id>
</LinkValue>
</Property>
<Property Name="MyClass.Code">
<LinkValue>
<Id>987654321</Id>
</LinkValue>
</Property>
<Property Name="MyClass.Name">
<StringValue>This_Is_My_Name</StringValue>
</Property>
</Object>

最佳答案

您可以使用 xpaths 来提取这些值。 This_Is_My_Name 的 xpath是 /Object/Property[@Name="MyClass.Name"]/StringValue而对于 LinkValue/Object/Property[@Name="MyClass.Code"]/LinkValue/Id .代码将是:

use XML::Twig;

my $twig = XML::Twig->new();

# parse the file
$twig->parsefile("x.xml");

# look for StringValue
@nodes=$twig->findnodes('/Object/Property[@Name="MyClass.Name"]/StringValue');
$stringVal=pop(@nodes)->text();
print $stringVal."\n";

# look for LinkValue
@nodes=$twig->findnodes('/Object/Property[@Name="MyClass.Code"]/LinkValue/Id');
$linkVal=pop(@nodes)->text();
print $linkVal;

关于Perl XML::Twig 问题请,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5648823/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com