如何编写Python脚本读取文本并以XML格式编写

时间:2015-11-19 17:41:50

标签: python python-2.7 python-3.x

我需要一个Python脚本来从文本文件中读取以下文本:

"Re-integratieassistent – modelnummer rea 202"

并将其写入XML文件。

在XML中编写时的问题是使用UTF-8编码,因为它写为:

"Re-integratieassistent  modelnummer rea 202"
"-""integratieassistent"

之间缺少

"modelnumber"

我该如何解决这个问题?

我目前的代码:

with codecs.open(file,encoding='utf-8', errors='ignore', mode="r") as curr_file:
    for line in curr_file.readlines():

        # Increment the counter because we encountered the XML start or begin elements
        #line = line.encode('utf-8')

        if line.find("<soapenv:Envelope") != -1 or line.find("</soapenv:Envelope") != -1 :
            i=i+1
        if (i == 1):
            file_i = codecs.open(inputFolder_new+"/"+filename,encoding='utf-8', mode="a")
            file_i.writelines(line)
        if (i == 3):
            file_o = codecs.open(outputFolder_new+"/"+filename, encoding='utf-8', mode="a")
            file_o.writelines(line)
        if (i == 4):
            file_i.writelines("</soapenv:Envelope>")
            file_o.writelines("</soapenv:Envelope>")

1 个答案:

答案 0 :(得分:0)

Python用于处理XML的接口分组在xml package

您可能需要考虑xml.etree.ElementTree来修改xml文件。

import xml.etree.ElementTree as ET
root = ET.parse(file)

然后使用root.findall('{namespace}nodename')。或root.find()。您可以遍历每个节点,尝试找到您感兴趣的项目。

使用ET.SubElement(an_element_object, 'your element')添加子元素。

如果不知道XML文件是什么样的话,很难更准确。