我无法使用DOM4j库读取CDATA内容
<notes>
<note>
<![CDATA[
something
]]>
</note>
我尝试过类似的事情:
if(element.getName().equalsIgnoreCase("notes")){
List notes = element.elements();
for (int inotes = 0; inotes<notes.size(); inotes++) {
String content = ""; // ??????
}
}
答案 0 :(得分:0)
您可以通过getStringValue获取CDATA内容
如果您只有一个音符元素:
String xml="<notes>\r\n" +
"\r\n" +
"<note>\r\n" +
"<![CDATA[\r\n" +
"qslkdfjqoisdèufç_rkjsdqfmlq_zds"+
"_èçé\"hc<<op<àç\">>>x>pciu\"éêù!x;%xkm<qknc"+
" something\r\n" +
"]]>\r\n" +
"</note></notes>";
// STRING => DOCUMENT
Document docu=DocumentHelper.parseText(xml);
// SELECT UNIQUE
Node nd=docu.selectSingleNode("//note");
// CONTENT
String value=nd.getStringValue();
System.out.println("VALUE="+value);
如果您有多个音符标签,请使用:
List<Node> notes = docu.selectNodes( "//note", "." ,true);
for (Node nd: notes)
{