在lxml中處理XML文檔中的XML CDATA段可以通過ElementTree的iter方法遍歷文檔中的所有元素,然后使用Element.text屬性來訪問元素的文本內容,如果元素包含CDATA段,則可以通過Element.text來獲取CDATA段的內容。 以下是一個示例代碼來處理XML文檔中的XML CDATA段:
from lxml import etree
# 讀取XML文檔
xml_doc = etree.parse("example.xml")
# 遍歷XML文檔中的所有元素
for elem in xml_doc.iter():
# 判斷元素是否包含CDATA段
if elem.text is not None and "<![CDATA[" in elem.text:
# 獲取CDATA段內容
cdata_content = elem.text.replace("<![CDATA[", "").replace("]]>", "")
print("CDATA內容:", cdata_content)
在上面的代碼中,首先使用etree.parse方法讀取XML文檔,然后使用iter方法遍歷文檔中的所有元素,通過判斷元素的text屬性是否包含“<![CDATA[”來確定是否是CDATA段,然后獲取CDATA段的內容并打印輸出。