输出XML使用单引号而不是属性值的double

时间:2018-06-12 14:19:20

标签: python xml python-3.x

我有这个XML文档,我需要用单引号(撇号)替换dobule引号:

<det nItem="1">
<prod>
    <cProd>0320</cProd>
<prod>  
</det>
<det nItem="2">
<prod>
    <cProd>0320</cProd>
<prod>  
</det>

我希望它成为。

<det nItem='1'>
<prod>
    <cProd>0320</cProd>
<prod>  
</det>
<det nItem='2'>
<prod>
    <cProd>0320</cProd>
<prod>  
</det>

我已尝试使用ElementTree,但无法将其配置为使用不同的引用样式。

1 个答案:

答案 0 :(得分:1)

您可以将文件中的行解析为新文件,随时替换字符。这会为&apos;交换单引号,然后为单引号双引号。

with open('file1.xml') as fp_in:
    with open('file2.xml') as fp_out:
        for line in fp_in:
            fp_out.write(line.replace("'", '&apos;').replace('"', "'"))