Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果在perl中使用XML::LIB不存在特定的子节点,则提取父节点_Perl_Xpath - Fatal编程技术网

如果在perl中使用XML::LIB不存在特定的子节点,则提取父节点

如果在perl中使用XML::LIB不存在特定的子节点,则提取父节点,perl,xpath,Perl,Xpath,例如,我的XML代码是: qwe 对 31 0 卡兹 对 1. 0 自闭症 对 1. zxc 不 3. 0 0 我想提取所有没有节点默认值的名称,即本例中的输出应该是qwe,qaz。如果默认值为0或1,则必须检查其值,并打印asd的默认值为0,zzxc的默认值为1。如果不存在,则打印qwe没有默认值,qaz没有默认值 如果默认值始终在ir/drive中,则可以使用以下XPath表达式: //部分[非(ir/drive/default)]/name/text() 如何使用foreach语句获取

例如,我的XML代码是:


qwe
对
31
0
卡兹
对
1.
0
自闭症
对
1.
zxc
不
3.
0
0

我想提取所有没有节点默认值的名称,即本例中的输出应该是
qwe,qaz
。如果默认值为0或1,则必须检查其值,并打印
asd
的默认值为0,
zzxc
的默认值为1。如果不存在,则打印
qwe
没有默认值,
qaz
没有默认值

如果默认值始终在
ir/drive
中,则可以使用以下XPath表达式:

//部分[非(ir/drive/default)]/name/text()

如何使用foreach语句获取所有节点的名称,并根据节点值获取所需的打印语句。如果您有新问题,请将其作为新问题发布。此外,多次更改原始问题对我们没有帮助。