XPath可选节点

时间:2015-10-28 03:39:40

标签: xml xpath xpath-2.0

我正在使用具有不同深度数据的文档,具体取决于父节点的特征。这两个表达式都返回数据:

lRVars

显然唯一的区别是,有一个" SUBPART"而另一个则没有。是否可以制作" SUBPART"可选?

1 个答案:

答案 0 :(得分:4)

在XPath 2.0中,您可以在路径步骤中使用union(_tileOnError),如下所示:

|

以下是使用不同XML示例的演示:

XML:

//TITLE/SUBTITLE//PART[(SUBPART|self::*)/SECTION/SECTNO[text() = '§ 415.1']]

XPath:

<root>
    <parent>
        <optional>
            <child>a</child>
        </optional>
    </parent>
    <parent>
        <child>b</child>
    </parent>
</root>

输出:

/root/parent[(optional|self::*)/child]

<强> demo