java 把“<"输出到xml文件---xml转义问题
在代码中怎么写,xml文件内才能出现<![CDATA[:<INFO_NAME><![CDATA[思科第四季获利增长其CFO计划明年5月退休]]></INFO_NAME>...
在代码中怎么写 ,xml文件内才能出现 <![CDATA[:
<INFO_NAME><![CDATA[思科第四季获利增长 其CFO计划明年5月退休]]></INFO_NAME> 展开
<INFO_NAME><![CDATA[思科第四季获利增长 其CFO计划明年5月退休]]></INFO_NAME> 展开
4个回答
展开全部
xml转义字符替换:
public void escape_xml_with_straight_java () {
static final String ESCAPED_XML =
"<note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>"
StringBuilder escapedXML = new StringBuilder();
for (int i = 0; i < XML_TO_ESCAPE.length(); i++) {
char c = XML_TO_ESCAPE.charAt(i);
switch (c) {
case '<':
escapedXML.append("<");
break;
case '>':
escapedXML.append(">");
break;
case '\"':
escapedXML.append(""");
break;
case '&':
escapedXML.append("&");
break;
case '\'':
escapedXML.append("'");
break;
default:
if (c > 0x7e) {
escapedXML.append("" + ((int) c) + ";");
} else
escapedXML.append(c);
}
}
assertEquals(ESCAPED_XML, escapedXML.toString());
}
总体思路就是遇到特殊字符,如"<",用"<"来替换就可以了。
public void escape_xml_with_straight_java () {
static final String ESCAPED_XML =
"<note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>"
StringBuilder escapedXML = new StringBuilder();
for (int i = 0; i < XML_TO_ESCAPE.length(); i++) {
char c = XML_TO_ESCAPE.charAt(i);
switch (c) {
case '<':
escapedXML.append("<");
break;
case '>':
escapedXML.append(">");
break;
case '\"':
escapedXML.append(""");
break;
case '&':
escapedXML.append("&");
break;
case '\'':
escapedXML.append("'");
break;
default:
if (c > 0x7e) {
escapedXML.append("" + ((int) c) + ";");
} else
escapedXML.append(c);
}
}
assertEquals(ESCAPED_XML, escapedXML.toString());
}
总体思路就是遇到特殊字符,如"<",用"<"来替换就可以了。
展开全部
看你用哪种解析方式了,如果是W3C方式的话,可以用Document.createCDATASection("data");如果是Dom4j,好像有个DocumentHelper.createCDATA()的方法。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是用什么东西输出到xml的?直接用文件流FileOutputStream FileWriter??
还是用dom4j??用dom4j应该可以吧。
如果不行的话,用&lt和 &gt 替换 <>试试看。。
还是用dom4j??用dom4j应该可以吧。
如果不行的话,用&lt和 &gt 替换 <>试试看。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<![CDATA[...........]] 中间的东西会原样输出。。不会转义。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询