如何使用xml.sax.saxutils.XMLGenerator编写具有名称p的元素

2024-10-04 03:26:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我用XMLGenerator写东西,但似乎不知道如何使用namseparas。我总是收到钥匙错误。在

我想写一个简单的例子

<svg width="120" height="120"
     viewBox="0 0 120 120"
     xmlns="http://www.w3.org/2000/svg">

  <rect x="10" y="10"
        width="100" height="100"
        rx="15" ry="15"/>

</svg>

我该怎么称呼Startelements?在

^{pr2}$

给我这个错误:

  File "c:\app\python\anaconda\1.6.0\envs\emblaze\lib\xml\sax\saxutils.py", line 169, in startElementNS
    self._write(u'<' + self._qname(name))
  File "c:\app\python\anaconda\1.6.0\envs\emblaze\lib\xml\sax\saxutils.py", line 134, in _qname
    prefix = self._current_context[name[0]]
KeyError: 'http://www.w3.org/2000/svg'

Tags: svgorgselfapphttplibwww错误
1条回答
网友
1楼 · 发布于 2024-10-04 03:26:46

查看这些文档似乎表明您需要以下内容:

from tempfile import TemporaryFile
f = TemporaryFile()
ns = "http://www.w3.org/2000/svg"
xmlgen = XMLGenerator(f)
xmlgen.startDocument()
xmlgen.startPrefixMapping("ns1", ns)
xmlgen.startElementNS((ns, "svg"), "ns1:svg", {})
f.seek(0)
print(f.read())
<?xml version="1.0" encoding="iso-8859-1"?>
<ns1:svg xmlns:ns1="http://www.w3.org/2000/svg">

xmlgen.startPrefixMapping似乎是必要的。在

相关问题 更多 >