使用lxml處理CDATA涉及使用適當(dāng)?shù)穆暶鲃?chuàng)建解析器,但是XSLT呢?例如:from lxml import etreeparser = etree.XMLParser(strip_cdata=False)tree = etree.parse('sample_with_cdata.xml', parser)transform = etree.XSLT(etree.parse('dupe.xsl'))xml_out = transform(tree)xml_out.write('processed.xml')如果我通過(guò)lxml XSLT處理器使用CDATA處理xml文件,則將刪除所有CDATA。如何告訴XSLT處理器按原樣保留CDATA?
2 回答

婷婷同學(xué)_
TA貢獻(xiàn)1844條經(jīng)驗(yàn) 獲得超8個(gè)贊
就XSLT而言,XML中的CDATA部分只是噪音。XSLT對(duì)待<![CDATA["]]>
的方式與"
對(duì)待相同的方式相同"
; 對(duì)于文檔作者而言,它們是用不同的方式來(lái)寫(xiě)相同的東西。
如果您在輸入中使用CDATA部分來(lái)傳達(dá)信息,即如果<![CDATA[xxx]]>
意味著與有所不同xxx
,則您需要更改XML設(shè)計(jì)。
添加回答
舉報(bào)
0/150
提交
取消