使用SAX解析解析XML已经嵌套元素
问题描述:
请看下面的例子 -使用SAX解析解析XML已经嵌套元素
<a>abc</a>
<a>
<a>bcd</a>
</a>
<a>
<b>
<a>
<a>
def
</a>
</a>
</b>
</a>
我们要做不同的事情时,我们遇到一个元素<a>
如果它是另一个a或b元素的子节点,当我们遇到<a>
作为直接 根元素的孩子,我们有不同的东西。
如何使用SAX解析器处理此文件?
请解释一下。
答
我不熟悉的“SAX解析器”,但如果你可以使用XPath来标识要处理的节点,那么这将考验<a>
节点是否是一个a
或b
孩子:
a[parent::*[self::a or self::b]]
如果这是一个有效的XML文档,我假设有一个带有名称的根元素,并且由于您没有在这里说明它,所以我将根据假设它被称为“根元素”。在这种情况下,如果<a>
是它的直接孩子,这将返回true:
a[parent::root-element]
有可能实现这一目标取决于不管你是使用XPath 2与否的其他方式,但我认为这应该适用于所有情况。我希望这有助于 - 如果没有,请提供更多关于您使用的确切环境的详细信息,我相信有人能够提供更精确的帮助。