使用lxml在Python中存储系统路径的XML

时间:2010-01-22 09:07:35

标签: python xml lxml

我正在使用xml文件来存储软件的配置。

其中一个配置是像

这样的系统路径
> set_value = "c:\\test\\3 tests\\test"

我可以使用以下方式存储它:

> setting = etree.SubElement(settings,
> "setting", name=tmp_set_name, type =
> set_type , value= set_value)

如果我使用

doc.write(output_file, method='xml',encoding = 'utf-8', compression=0)

该文件将是:

< setting type =“str”name =“MyPath”value =“c:\ test \ 3 tests \ test”/>

现在我用etree.parse方法再次阅读它

我获得了一个带有字符串值的etree子对象,但是字符串 包含

  

\ 3

字符,如果我尝试使用它再次写入xml,它将被解释!!!!!所以我不能再用它作为一条路  也许我只是缺少一个简单的字符串操作,但我看不到它=) 你会如何以聪明的方式解决它?

这是一个例子,但是最好的方法是什么,你认为在xml中存储路径并用lxml解析它们?

谢谢!

1 个答案:

答案 0 :(得分:1)

  

现在我再次阅读   etree.parse方法

     

我用a获得了一个etree子对象   字符串值,但字符串包含   在

\3
     

字符,如果我尝试使用它   再次写入xml即可   解释!!!!!

我只是尝试过,并没有得到“解释”。解析后返回的元素属性为:

{'type': 'str', 'name': 'yowza!', 'value': 'c:\\test\\3 tests\\test'}

因此,正如您所看到的那样,您的工作正常。如果你真的遇到这个问题,那么你正在做的不是你所说的。向我们展示真实代码,或者在您演示问题并使用它的情况下制作一个小示例代码。