Xml格式显示新行中的属性(Python)

时间:2013-04-18 23:14:40

标签: python xml

我正在尝试将XML节点的break属性划分为单独的行。输入是一个字符串,如:

<computer color="read" brand="Dell" version="T430" description="2013 new style" />

我将字符串与(一个空格)分开,但由于描述中有一些空格,因此无效。我使用Python生成XML代码。

任何人都可以向我解释如何做到这一点吗?

1 个答案:

答案 0 :(得分:0)

由于您的XML代码格式正确,引号只能作为属性值的分隔符出现。因此,您可以先用引号将字符串切断,然后通过交替分隔符重新连接它们:每个奇数都是引号,每个偶数都是引号和换行符。

例如,如果a包含您的输入字符串,则此代码将起作用:

'"'.join(map(lambda x:'\n'+x if x.startswith(' ') else x, a.split('"')))

(它还使用了一个事实,即你需要一个引号后跟一个额外空格的换行符)。 或者,如果您出于某种原因不喜欢lambda函数;)

'"'.join(['\n'+x if x.startswith(' ') else x for x in a.split('"')])