【问题标题】:convert list to xml string in python在python中将列表转换为xml字符串
【发布时间】:2017-07-14 17:49:42
【问题描述】:

我在 Python 中有以下列表:

list = ["one", "two", "three", "four", "five"]

并希望将其转换为以下字符串:

<field>one</field><field>two</field><field>three</field><field>four/field><field>five</field>

什么是最有效的方法?

【问题讨论】:

    标签: python


    【解决方案1】:

    一种方法是:

    "".join("<field>{}</field>".format(x) for x in list)
    

    这使用“列表理解”来遍历您的列表并将字符串格式应用于每个元素。然后,以这种方式创建的元素被连接到一个大字符串中以获得最终结果。

    【讨论】:

    • 谢谢,但是 '>' 和 '
    • @bogumbiker:那么你所做的还有更多你没有展示的东西。如果您在 Python 提示符下以交互方式尝试上述操作,那么它将产生您想要的结果。您可能正在做类似在自动为您转义 HTML 的框架中运行它。如果要生成原始 HTML,则必须找到绕过它的方法。
    • 感谢您的提示。我在 lxml.builder 中这样做也许这就是为什么?
    • @bogumbiker:是的,这可能就是原因。如果您不知道如何解决,请参阅Python: Injecting HTML content into a tag using lxml.html
    • 这是一个 xml 文档,我正在尝试执行以下操作: fields = "".join("{}".format(x) for x in list) doc = etree.fromstring(fields) 但出现错误 lxml.etree.XMLSyntaxError: Extra content at the end, line 1, column 20
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-14
    • 2016-11-09
    • 1970-01-01
    • 2023-03-16
    • 2017-11-15
    • 2021-12-04
    • 2012-03-22
    相关资源
    最近更新 更多