好的,这应该很简单,但我无法弄明白。如何将命名空间添加到已创建的元素中?
如果我有:
myxml = '<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<p:obj xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main">
<p:part>Part1</p:part></p:obj>'
root = XML(myxml)
使用lxml,如何添加额外的命名空间?
xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
因此结果xml应如下所示:
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<p:obj xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">
<p:part>Part1</p:part></p:obj>`
请注意,我需要添加到已创建的元素。
答案 0 :(得分:0)
你想要的是here。但是,它使用xml包。您可以使用lxml包非常相似地获得相同的结果。
from lxml import etree
etree.register_namespace('a',"http://schemas.openxmlformats.org/drawingml/2006/main")
myxml = "<?xml version='1.0' encoding='UTF-8' standalone='yes'?><p:obj xmlns:p='http://schemas.openxmlformats.org/presentationml/2006/main'><p:part>Part1</p:part></p:obj>"
root = etree.XML(myxml)
自
答案 1 :(得分:0)