我有相当大的 XML 文档,所以我不想使用 DOM,但是在使用 SAX 解析器解析文档时,我想在某个点停下来(比如当我到达具有特定名称的元素时)并获取所有内容在该元素内作为字符串。 “Everything”里面不一定是文本节点,它可能包含标签,但我不想让我解析它们,我只想将它们作为文本获取。
我正在用 Python 编写。有可能解决吗?谢谢!
最佳答案
xml.sax
API 似乎没有提供它,但您可以使用另一种中断控制流的方法:异常。
只需为此目的定义一个自定义异常:
class FinishedParsing(Exception):
pass
当您完成解析并忽略它时,在您的处理程序中引发此异常。
try:
parser.parse(xml)
except FinishedParsing:
pass
关于python - 我能以某种方式告诉 SAX 解析器在某个元素处停止并将其子节点作为字符串获取吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8744604/