我正在使用CDATA部分,但文本由一些字符组成,因此它正在关闭,我正在解析异常。
<xyz><![CDATA[\..\..\\..\..\\..\..\\..\..\\..\..\\\boot.ini]]>�</xyz>
我从某个网站找到了以下代码:
// Add a CDATA section to the root element
Element element = doc.getDocumentElement();
CDATASection cdata = doc.createCDATASection("data");
element.appendChild(cdata);
// If "]]>" appears in the text, two CDATA sections will be written out
cdata = doc.createCDATASection("more]]>data");
element.appendChild(cdata);
使用上述逻辑的问题是我不知道我从DB读取的元素将包含“]]&gt;”所以我可以写两个CDATA部分。
需要你的帮助。
答案 0 :(得分:0)
使用CDATA部分转义任意文本很容易出错,因为它们无法嵌套。
使用entity references来转义文本。
但是,如果你真的想使用CDATA部分,维基百科页面的this section可能会有所帮助。