Ниже приведена выдержка из файла .svg (который является xml):
<text
xml:space="preserve"
style="font-size:14.19380379px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans Mono;-inkscape-font-specification:DejaVu Sans Mono"
x="109.38555"
y="407.02847"
id="libcode-00"
sodipodi:linespacing="125%"
inkscape:label="#text4638"><tspan
sodipodi:role="line"
id="tspan4640"
x="109.38555"
y="407.02847">12345678</tspan></text>
Я изучаю Python и не знаю, как найти все такие text
элементы, у которых поле id
равно libcode-XX
, где XX - число.
Я загрузил этот файл .svg, используя парсер minidom, и попытался найти элементы, используя getElementById
. Однако я получаю None
результат.
svgTemplate = minidom.parse(svgFile)
print svgTemplate
print svgTemplate.getElementById('libcode-00')
Переходя к другому такому вопросу, я попытался использовать setIdAttribute('id')
на svgTemplate
объекте без удачи.
Итог: пожалуйста, дайте подсказку для умного способа извлечь все эти text
элементы, которые имеют id
s в форме libcode-XX
. После этого не должно быть проблем с получением tspan
текста и заменой его сгенерированным содержимым.