考虑以下示例 -
<a>abc</a>
<a>
<a>bcd</a>
</a>
<a>
<b>
<a>
<a>
def
</a>
</a>
</b>
</a>
如果我们遇到一个元素<a>
,如果它是另一个a或b元素的子节点,我们必须做不同的事情,当我们直接遇到<a>
时,我们必须做不同的事情
根元素的孩子。
如何使用SAX解析器处理此文件?
请解释一下。
答案 0 :(得分:-1)
我不熟悉“SAX解析器”但是如果您可以使用Xpath来标识要处理的节点,那么这将测试<a>
节点是否是a
的子节点或b
:
a[parent::*[self::a or self::b]]
如果这是一个有效的XML文档,我假设有一个带有名称的根元素,并且由于你没有在这里说明,我将基于它被称为“根元素”的假设给出一个例子。 ”。在这种情况下,如果<a>
是其直接子项,则返回true:
a[parent::root-element]
根据您是否使用Xpath 2,可能还有其他方法可以实现此目的,但我认为这应该适用于所有情况。我希望有帮助 - 如果没有,请提供您正在使用的确切环境的更多详细信息,我相信有人能够提供更准确的帮助。