【发布时间】:2021-03-31 02:01:40
【问题描述】:
我正在尝试创建一个 xml,其第一个元素是:
<speak version="1.0"
xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
</speak>
我可以添加第一个属性...
from lxml.etree import Element, SubElement, QName, tostring
root = Element('speak', version="1.0",
xmlns="http://www.w3.org/2001/10/synthesis")
...但不是命名空间xml:lang="en-US"。根据this 和this 等几个教程/问题,我尝试了很多解决方案,但没有一个奏效。
例如,我试过这个:
class XMLNamespaces:
xml = 'http://www.w3.org/2001/10/synthesis'
root.attrib[QName(XMLNamespaces.xml, 'lang')] = "en-US"
但输出是
<speak xmlns:ns0="http://www.w3.org/2001/10/synthesis" version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" ns0:lang="en-US">
如何创建我的第一个 xml 元素的xml:lang="en-US"?
【问题讨论】:
-
xml前缀的 URI 是http://www.w3.org/XML/1998/namespace。见stackoverflow.com/a/17477289/407651 -
它工作正常,非常感谢!请将其发布为答案,以便我为您投票!
标签: python-3.x xml lxml xml-namespaces