Python 解析xml文件的脚本删除了第一行

Python 解析xml文件的脚本删除了第一行,python,xml,xslt,xpath,lxml,Python,Xml,Xslt,Xpath,Lxml,解析xml文件的脚本删除了第一行 下面是python脚本,我必须对多个.xml文件的UUID进行排序: import os import lxml.etree as ET inputpath = xsltfile = outpath = dir = [] for dirpath, dirnames, filenames in os.walk(inputpath): structure = os.path.join(outpath, dirpath[len(inputpath)

解析xml文件的脚本删除了第一行 下面是python脚本,我必须对多个.xml文件的UUID进行排序:

import os
import lxml.etree as ET

inputpath = 
xsltfile = 
outpath = 

dir = []

for dirpath, dirnames, filenames in os.walk(inputpath):
    structure = os.path.join(outpath, dirpath[len(inputpath):])
    if not os.path.isdir(structure):
        os.mkdir(structure)
    for filename in filenames:
        if filename.endswith(('.xml')):
            dir = os.path.join(dirpath, filename)
            print(dir)
            dom = ET.parse(dir)
            xslt = ET.parse(xsltfile)
            transform = ET.XSLT(xslt)
            newdom = transform(dom)
            outfile = open(structure + "\\" + filename, 'a')
            outfile.write(ET.tostring(newdom,pretty_print=True).decode())

这是我针对多个.xml文件使用的.xslt模板,第一行称为xml声明,默认情况下,
etree.tostring()
不输出它,您需要添加
xml\u declaration=True
参数,请参见,有关更多选项,请参阅此答案:感谢您的回复,我在python代码中添加了这一行,它的工作状态良好
outfile.write(ET.tostring(newdom,pretty\u print=True,xml\u declaration=True,encoding='UTF-8',standalone='yes')。decode())
。但这是用单引号给出输出的
。我可以知道应该更改什么以获得双引号中的值吗?我的意思是像这样的
我不认为有这样的选择,单引号和双引号在XML中同样合法。Hie Joao,我在问题中添加了一个新错误。你对此有什么想法吗?那是一个完全不同的问题,请另外问一个问题。堆栈溢出会给确保高质量的问题和答案带来很多麻烦,但这样做并没有帮助:现在您的问题的内容不再与标题匹配,而我回答的问题也不再被问,这已经变得难以理解。请回复。好的,我刚刚回复。这是一个新问题