【问题标题】:Perl XML::LibXML - read the nodevalue from an element if nodevalue of it's parent element matches a stringPerl XML::LibXML - 如果父元素的节点值与字符串匹配,则从元素中读取节点值
【发布时间】:2016-10-19 17:37:54
【问题描述】:

我正在使用 Perl XML::LibXML 从下面的 XML 中提取一些数据。

XML:

<root>
<child1>
    <child2>
        <common_tag_name>
            <name>name_level1_name1</name>
            <attribute>
              <name>name_level2_name1</name>
              <value>some_data1</value>
            </attribute>
            <attribute>
              <name>name_level2_name2</name>
              <value>some_data2</value>
            </attribute>
            <attribute>
              <name>name_level2_name3</name>
              <value>some_data3</value>
            </attribute>
        </common_tag_name>

        <common_tag_name>
            <name>name_level1_name2</name>
            <attribute>
              <name>name_level2_name1</name>
              <value>some_data4</value>
            </attribute>
            <attribute>
              <name>name_level2_name2</name>
              <value>some_data5</value>
            </attribute>
            <attribute>
              <name>name_level2_name3</name>
              <value>some_data6</value>
            </attribute>
        </common_tag_name>
    </child2>
</child1>
</root>

问题:

查找;如果 /common_tag_name/name == "name_level1_name1" 和 /common_tag_name/name/attribute/name == "name_level2_name1" 然后提取 /common_tag_name/name/attribute/value 即我应该得到 "some_data1"

应该循环读取same_data*

XML::LibXML 可以吗?

【问题讨论】:

  • 你在标题中说 Perl,但用 Python 标记。是哪一个?

标签: python xml xml-libxml


【解决方案1】:

是的,使用XML::LibXML 可以做到这一点。

【讨论】:

    猜你喜欢
    • 2020-08-05
    • 1970-01-01
    • 1970-01-01
    • 2022-11-10
    • 2014-08-05
    • 1970-01-01
    • 2013-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多