用Python的lxml查找并替换XML/SVG元素文本?

2024-05-03 19:19:31 发布

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

我不熟悉XML和lxml,希望使用SVG作为图形模板,并用程序替换一些元素(图像中的标签)。 为此,我用Inkscape创建了一个SVG文件,但是lxml似乎无法处理svg:使用的名称空间通过水景。保存为普通SVG工作:

from lxml import etree
ifilename = "ifile.svg"
with open( ifilename, 'r') as infile: 
    tree = etree.parse( infile )
print tree.xpath("//text[@id='findme']/tspan/text()")

但我不确定xpath是否是在元素树的任何位置查找元素的正确方法!?我希望你能朝着正确的方向努力。在


Tags: textsvg图像程序模板tree图形元素
1条回答
网友
1楼 · 发布于 2024-05-03 19:19:31

你应该能够使用

print tree.xpath("//n:text[@id='findme']/n:tspan/text()",
                 namespaces={'n': "http://www.w3.org/2000/svg"})

如果不起作用,请向我们展示SVG标记。我不知道你说的“保存为普通SVG有效”是什么意思。在

相关问题 更多 >