gpt4 book ai didi

python - 解析导入其他本地架构的 XML 架构时出错

转载 作者:太空宇宙 更新时间:2023-11-03 15:30:21 26 4
gpt4 key购买 nike

我正在尝试将本地 XML 架构导入到另一个架构中,但在使用 lxml 解析“父级”时遇到错误:

# main.py

from lxml import etree

if __name__ == '__main__':
s = etree.fromstring('''
<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xsd:import
namespace="http://www.w3schools.com"
schemaLocation="file:///Users/Oskar/test.xsd"/>
</xsd:schema>
''')

etree.XMLSchema(s)
<小时/>
# test.xsd

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="foo" type="xsd:integer"/>
</xsd:schema>
<小时/>
$ python main.py
Traceback (most recent call last):
File "main.py", line 14, in <module>
etree.XMLSchema(s)
File "src/lxml/xmlschema.pxi", line 87, in lxml.etree.XMLSchema.__init__ (src/lxml/lxml.etree.c:191759)
lxml.etree.XMLSchemaParseError: Internal error: xmlSchemaBucketCreate, failed to add the schema bucket to the hash.

我错过了什么?

最佳答案

test.xsd 需要导出一个与 xsd:import 中的 namespace 值匹配的 targetNamespace:

<xsd:schema
targetNamespace="http://www.w3schools.com"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="foo" type="xsd:integer"/>
</xsd:schema>

关于python - 解析导入其他本地架构的 XML 架构时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42930237/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com