gpt4 book ai didi

python - 如何使用 python SAX 解析器获取标签之间的文本?

转载 作者:太空狗 更新时间:2023-10-29 21:41:16 25 4
gpt4 key购买 nike

我需要的只是获取相应标签的文本并将其持久化到数据库中。由于 xml 文件很大 (4.5GB),我使用的是 sax。我使用 characters 方法获取文本并将其放入字典中。但是,当我在 endElement 方法中打印文本时,我得到了一个新行而不是文本。

这是我的代码:

def characters(self,content):
text = unescape(content))
self.map[self.tag]=text

def startElement(self, name, attrs):
self.tag = name

def endElement (self, name)
if (name=="sometag")
print self.map[name]

提前致谢。

最佳答案

标记中的文本由 SAX 处理器分 block 。 characters 可能会被多次调用。

你需要做类似的事情:

def startElement(self, name, attrs):
self.map[name] = ''
self.tag = name

def characters(self, content):
self.map[self.tag] += content

def endElement(self, name):
print self.map[name]

关于python - 如何使用 python SAX 解析器获取标签之间的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2262577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com