将特殊字符从java传递给XML格式的jsp

时间:2011-04-11 18:13:19

标签: java xml jsp dom

我从DB获取包含“&”的数据。我将它写入stringbuffer并将其以xml格式传递给jsp。在jsp中,当我得到doc.getElementByTagName(“tagname”)并获取子节点长度时,我得到null。

XML数据包含“&”。我拿的数据很大。那么什么可能是取代“&”的最有效方法与&在java中

<parentnode> <childnode> <Data1>A & B</Data1>C & D<Data2></Data2> <Data1>E & F</Data1><Data2></Data2> <Data1></Data1><Data2></Data2> .. .. </childnode> </parentnode>

1 个答案:

答案 0 :(得分:0)

你需要逃脱它。由于您似乎在JSP中打印XML plain(这是一种不好的方法,但除此之外),您可以使用JSTL <c:out>来实现此目的。

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
...
<c:out value="${bean.someXmlString}" />

或者,您也可以使用Apache Commons Lang StringEscapeUtils#escapeXml()在Java端转义它。

stringBuilder.append(StringEscapeUtils.escapeXml(someXmlString));
// ...