В моем XML есть раздел CDATA
.Я хочу сохранить часть CDATA, а затем лишить ее.Может ли кто-нибудь помочь со следующим?
По умолчанию не работает:
$ from io import StringIO
$ from lxml import etree
$ xml = '<Subject> My Subject: 美海軍研究船勘查台海水文? 船<![CDATA[é]]>€ </Subject>'
$ tree = etree.parse(StringIO(xml))
$ tree.getroot().text
' My Subject: 美海軍研究船勘查台海水文? 船é€ '
Этот пост , кажется, предполагает, что опция parser
strip_cdata=False
может сохранитьcdata, но это не имеет никакого эффекта:
$ parser=etree.XMLParser(strip_cdata=False)
$ tree = etree.parse(StringIO(xml), parser=parser)
$ tree.getroot().text
' My Subject: 美海軍研究船勘查台海水文? 船é€ '
Использование strip_cdata=True
, которое должно быть значением по умолчанию, дает то же самое:
$ parser=etree.XMLParser(strip_cdata=True)
$ tree = etree.parse(StringIO(xml), parser=parser)
$ tree.getroot().text
' My Subject: 美海軍研究船勘查台海水文? 船é€ '