我有大量的xml数据。格式如下:
<person>
<name>Tom</name>
<age>18</age>
<address> London, xxx street, xxx building</address>
</person>
<person>
<name>John</name>
<age>22</age>
<address> Canberra, xxx street, xxx building, xxx floor, xxx room,
xxx bed</address>
</person>
我想得到以下结果:
^{pr2}$数据相当大,我希望我可以逐行读取,这样就不会有内存问题。谢谢。在
首先,您的xml无效:
\
(反斜杠)在xml标记中<person>
标记未关闭解决上述问题后。
您的问题可以通过
xpath
模块提供的xpath
来解决。顺便说一句,有一个名为
xmlstarlet
的命令行工具:如果有可用的xml库,不要通过解析字符串来折磨自己——例如lxml。如果你想继续使用python的电池,那么看看dom.minidom。在
请确保输入是格式正确的xml。在
要处理内存有限的大型xml文件,可以使用^{} :
您可以为标记内的多行文本添加特殊处理(如您的示例
address
),例如,您可以使用re.sub(r'\s+', ' ', text)
来规范化空白。在Output
^{pr2}$如果输入xml可能包含} module 生成输出。在
'^'
,并且希望对其进行转义,那么可以使用^{相关问题 更多 >
编程相关推荐