我遇到的xml文本是这样的:
<item>
<review_id>0079029</review_id>
<summary>的确是很浅显 适合什么都不懂 或者几乎什么都不懂的超级菜鸟</summary>
<text>非常不幸我就是这种对于数据分析 对于excel 几乎什么都不懂的超级菜鸟
非常幸运我买了这本书
作为打基础的书 还是非常不错的
蛮不错的入门 而且深深的勾起了我对数据分析的兴趣
天晓得我大学的时候统计学几乎挂科的
反正打算先看完这本书 差不多学完了这些就应该能满足我目前的工作需要了
以后再看情况要不要深入学习吧</text>
<category>book</category>
</item>
如果我通过xml.etree.ElementTree.iterparse
来提取:
for event, elem in iterparse(item_xml_file):
if elem.tag == 'item':
...
就会出现这样的错误:
Traceback (most recent call last):
File "<input>", line 1, in <module>
File ".../process.py", line 25, in process_cn
for event, elem in iterparse(item_xml_file):
File "<string>", line 91, in next
ParseError: not well-formed (invalid token): line 5, column 3
是不是SAX的方法不能提取节点中的多行文本,如果不行,那应该用什么?如果xml文件很大,又该怎么办呢?
換了台機子,又可以了。這叫什麼事啊?