-1

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

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

我用 , 一个空格分割字符串,但由于描述中有一些空格,所以没有成功。我使用 Python 生成 XML 代码。

谁能向我解释如何做到这一点?

4

1 回答 1

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('"')])
于 2013-04-18T23:20:51.940 回答