【发布时间】:2014-01-22 22:06:46
【问题描述】:
所以,我已经看到了很多针对这个问题的答案,但是他们没有明确说明如何在命名空间前缀在整个 XML 文档范围内发生变化时调整它。
我有什么:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<ns0:Description xmlns:ns0="http://purl.org/NET/FOO">
</ns0:Description>
</rdf:RDF>
我想要什么:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="http://purl.org/NET/FOO">
</rdf:Description>
</rdf:RDF>
为了澄清,我希望子 SubElement 的 xmlns:rdfs 为 rdf:about。
过去在 Python2.5 中的工作原理:
rdf_description = SubElement(
root,
'{http://www.w3.org/1999/02/22-rdf-syntax-ns#}Description',
{'rdf:about':vocab_namespace}
)
我在 Python2.7 中的尝试:
register_namespace('rdf', 'rdf:about')
rdf_description = SubElement(
root,
'{http://www.w3.org/1999/02/22-rdf-syntax-ns#}Description',
nsmap={'rdf': rdf_url}
)
... 好吧我已经尝试过了,而且排列的时间太长而无法列出(这就是我目前拥有的方式),但我似乎无法按照我的需要移动位他们。
如果一个真正的 lxml 忍者能够从他们的快乐宫殿中走出来并指导这个新手,我将永远感激不尽。
【问题讨论】:
标签: python xml python-2.7 lxml xml-namespaces