我在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>
Run Code Online (Sandbox Code Playgroud) 我有以下XML文件:
<SOURCE_SERVER>
<SERVER HOSTNAME="serv1">
<CIFS_SERVICE NETBIOSNAME="serv1"/>
</SERVER>
<SERVER HOSTNAME="serv2">
</SERVER>
<SOURCE_SERVER>
Run Code Online (Sandbox Code Playgroud)
现在,我想孩子补充<CIFS_SERVICE NETBIOSNAME="serv2"/>到<SERVER HOSTNAME="serv2">.如何使用XML :: Twig执行此操作?
我试图用来XPath提取一些HTML标签和数据,为此我需要使用XML::LibXML模块.
我尝试从CPAN shell安装它,但它没有安装.
我按照CPAN网站上有关安装的说明,我们需要安装libxml2,iconv以及zlib在安装之前的包装器XML::LibXML,它没有用完.
此外,如果还有其他更简单的模块可以完成我的任务,请告诉我.
手头的任务:
我<dd>在html页面上搜索特定的标签,这个标签非常大(大约5000 - 10000)<dd>和<dt>标签.所以,我正在编写一个匹配<dd>标记内容的脚本,并获取相应(下一个)<dt>标记内的内容.
我希望我能更清楚一点.任何帮助是极大的赞赏.
我有这样的XML文件(某些应用程序的输出):
<data>
<call function="get_user_data">
<output>
<integer name="my_id" value="-31" />
<string name="login" value="root" />
<integer name="ip_list" value="2" />
<array name="i">
<item>
<ip_address name="user_ip" value="0.0.0.0" />
<ip_address name="user_mask" value="0.0.0.0"/>
</item>
<item>
<ip_address name="user_ip" value="94.230.160.230" />
<ip_address name="user_mask" value="255.255.255.0"/>
</item>
</array>
<integer name="modules" value="2" />
<array name="i">
<item>
<string name="module_name" value="core" />
</item>
<item>
<string name="module_name" value="devices" />
</item>
</array>
<integer name="addition_modules" value="0"/>
<array name="i"/>
</output>
</call>
</data>
Run Code Online (Sandbox Code Playgroud)
我需要为这个perl结构解析它:
$data = {
my_id => -31,
login => "root",
ip_list => [
{
user_ip …Run Code Online (Sandbox Code Playgroud) 如何使用XML :: LibXML模块的findnodes()函数在XPath表达式中使用Perl变量?这就是我得到的:
my $variable = 1;
foreach my $node1 ($doc->findnodes('par/par1/par2[@id = $variable]'))
{
}
Run Code Online (Sandbox Code Playgroud)
但它似乎没有用.谢谢.