在ElementTree中添加前缀属性
问题描述:
我正在操作ElementTree中的SVG文件。鉴于该文件test.svg
在ElementTree中添加前缀属性
<?xml version='1.0' encoding='utf-8'?>
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
</svg>
我试图与特定前缀创建一个元素
import xml.etree.ElementTree as ET
ET.register_namespace("", "http://www.w3.org/2000/svg")
tree = ET.parse('test.svg')
tree.getroot().set("xmlns:xlink", "http://www.w3.org/1999/xlink")
link = ET.fromstring('<a xlink:href="http://www.mysite.com/"></a>')
tree.write('worldMap/test_out.svg', encoding = 'utf-8', xml_declaration = True)
但碰上unbound prefix
错误。我已经通过this tutorial看过,但不能完全看到有什么问题。
答
您必须声明xlink
也串在其中与fromstring
解析:
link = ET.fromstring('<a xmlns:xlink="http://www.w3.org/1999/xlink" '
'xlink:href="http://www.mysite.com/"></a>')
+0
完美,谢谢! – u003f
所以什么问题? – enginefree