我正在尝试将 XML 节点的属性分解为单独的行。输入是一个字符串,如:
<computer color="read" brand="Dell" version="T430" description="2013 new style" />
我用 , 一个空格分割字符串,但由于描述中有一些空格,所以没有成功。我使用 Python 生成 XML 代码。
谁能向我解释如何做到这一点?
由于您的 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('"')])