如何使用xml.etree.ElementTree Python格式化属性、前缀和标记
我正在尝试创建一个python脚本,该脚本将创建一个模式,然后根据现有引用填充数据 这就是我需要创建的内容:如何使用xml.etree.ElementTree Python格式化属性、前缀和标记,python,xml,elementtree,xml-namespaces,Python,Xml,Elementtree,Xml Namespaces,我正在尝试创建一个python脚本,该脚本将创建一个模式,然后根据现有引用填充数据 这就是我需要创建的内容: <srp:root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 这给了我: 如何修复它以使前端匹配?您要求的确切结果不完整,但只需对gen()函数进行一些编辑,就可以生成格式良好的输出 根元素应该绑定到http://www.-redacted-standards.org/Schemas/MSRP
<srp:root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
这给了我:
如何修复它以使前端匹配?您要求的确切结果不完整,但只需对
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))
结果(为了可读性增加了换行符):
您要求的确切结果不完整,但是对
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"/>