如何使用xml.etree.ElementTree Python格式化属性,前缀和标签

罗伯特·平克

我正在尝试创建一个python脚本,该脚本将创建一个架构,然后根据现有引用填充数据。

这是我需要创建的:

<srp:root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

这就是我所拥有的:

from xml.etree.ElementTree import *
from xml.dom import minidom

def prettify(elem):
    rough_string = tostring(elem, "utf-8")
    reparsed = minidom.parseString(rough_string)
    return reparsed.toprettyxml(indent="  ")

ns = { "SOAP-ENV": "http://www.w3.org/2003/05/soap-envelope", 
    "SOAP-ENC": "http://www.w3.org/2003/05/soap-encoding",
    "xsi": "http://www.w3.org/2001/XMLSchema-instance",
    "srp": "http://www.-redacted-standards.org/Schemas/MSRP.xsd"}

def gen():
    root = Element(QName(ns["xsi"],'root'))
    print(prettify(root))
gen()

这给了我:

<xsi:root xmlns:xsi =“ http://www.w3.org/2001/XMLSchema-instance”>

我如何解决它,使正面匹配?

z

您要求的确切结果是不完整的,但是只需对gen()函数进行一些编辑,就可以生成格式正确的输出。

根元素应绑定到http://www.-redacted-standards.org/Schemas/MSRP.xsd名称空间(srp前缀)。为了生成xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"声明,必须在XML文档中使用命名空间。

def gen():
    root = Element(QName(ns["srp"], 'root'))
    root.set(QName(ns["xsi"], "schemaLocation"), "whatever") # Add xsi:schemaLocation attribute
    
    register_namespace("srp", ns["srp"])                     # Needed to get 'srp' instead of 'ns0'
    
    print(prettify(root))

结果(添加换行符以提高可读性):

<?xml version="1.0" ?>
<srp:root xmlns:srp="http://www.-redacted-standards.org/Schemas/MSRP.xsd"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="whatever"/>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用xml.etree.ElementTree访问标签之间的文本

来自分类Dev

如何使用xml.etree.ElementTree访问标签之间的文本

来自分类Dev

Python xml.etree.ElementTree 问题

来自分类Dev

使用xml.etree.ElementTree搜索XML元素树的属性

来自分类Dev

使用 Python xml.etree.ElementTree 遍历 XML 树的问题

来自分类Dev

使用html5lib和xml.etree.ElementTree

来自分类Dev

xml.etree.ElementTree getElementByID()?

来自分类Dev

xml.etree.ElementTree findall

来自分类Dev

xml.etree.ElementTree findall

来自分类Dev

python(xml.etree.ElementTree)中的XML解析

来自分类Dev

IronPython和xml.etree.ElementTree非法字符错误

来自分类Dev

python xml.etree.ElementTree追加到子元素

来自分类Dev

在Python中,如何使用xml.etree.ElementTree创建数据框?

来自分类Dev

如何使用python(xml.etree.ElementTree)解决下一个迭代?

来自分类Dev

如何使用 python 从soap响应中的多个命名空间获取数据:xml.etree.ElementTree

来自分类Dev

使用xml.etree.ElementTree(python)解析XML时,如何区分常规空格和转义空格(&#32;)

来自分类Dev

使用xml.etree.ElementTree获取文件中的XML标签列表

来自分类Dev

使用xml.etree.ElementTree解析XML时获取空列表作为属性

来自分类Dev

如何使用xml.etree.ElementTree有条件地将属性插入Python中的节点

来自分类Dev

从Python中的XML数据创建字典(使用xml.etree.ElementTree)

来自分类Dev

使用xml.etree.ElementTree的Python xml解析不起作用

来自分类Dev

xml.etree.ElementTree-麻烦设置xmlns ='...'

来自分类Dev

如何在python xml.etree.ElementTree中的迭代器中删除节点

来自分类Dev

xml.etree.ElementTree >> Python >>如何访问子元素并进行断言

来自分类Dev

结合使用html5lib和xml.etree.ElementTree

来自分类Dev

Python xml.etree.ElementTree问题,Element.tag不仅给我带来了标签名,

来自分类Dev

Python:xml.etree.ElementTree.ParseError:格式不正确(无效的令牌)

来自分类Dev

使用xml.etree.ElementTree XML解析子元素

来自分类Dev

xml.etree.ElementTree iterparse()仍在使用大量内存?

Related 相关文章

  1. 1

    如何使用xml.etree.ElementTree访问标签之间的文本

  2. 2

    如何使用xml.etree.ElementTree访问标签之间的文本

  3. 3

    Python xml.etree.ElementTree 问题

  4. 4

    使用xml.etree.ElementTree搜索XML元素树的属性

  5. 5

    使用 Python xml.etree.ElementTree 遍历 XML 树的问题

  6. 6

    使用html5lib和xml.etree.ElementTree

  7. 7

    xml.etree.ElementTree getElementByID()?

  8. 8

    xml.etree.ElementTree findall

  9. 9

    xml.etree.ElementTree findall

  10. 10

    python(xml.etree.ElementTree)中的XML解析

  11. 11

    IronPython和xml.etree.ElementTree非法字符错误

  12. 12

    python xml.etree.ElementTree追加到子元素

  13. 13

    在Python中,如何使用xml.etree.ElementTree创建数据框?

  14. 14

    如何使用python(xml.etree.ElementTree)解决下一个迭代?

  15. 15

    如何使用 python 从soap响应中的多个命名空间获取数据:xml.etree.ElementTree

  16. 16

    使用xml.etree.ElementTree(python)解析XML时,如何区分常规空格和转义空格(&#32;)

  17. 17

    使用xml.etree.ElementTree获取文件中的XML标签列表

  18. 18

    使用xml.etree.ElementTree解析XML时获取空列表作为属性

  19. 19

    如何使用xml.etree.ElementTree有条件地将属性插入Python中的节点

  20. 20

    从Python中的XML数据创建字典(使用xml.etree.ElementTree)

  21. 21

    使用xml.etree.ElementTree的Python xml解析不起作用

  22. 22

    xml.etree.ElementTree-麻烦设置xmlns ='...'

  23. 23

    如何在python xml.etree.ElementTree中的迭代器中删除节点

  24. 24

    xml.etree.ElementTree >> Python >>如何访问子元素并进行断言

  25. 25

    结合使用html5lib和xml.etree.ElementTree

  26. 26

    Python xml.etree.ElementTree问题,Element.tag不仅给我带来了标签名,

  27. 27

    Python:xml.etree.ElementTree.ParseError:格式不正确(无效的令牌)

  28. 28

    使用xml.etree.ElementTree XML解析子元素

  29. 29

    xml.etree.ElementTree iterparse()仍在使用大量内存?

热门标签

归档