我正在使用以下方法通过网络从XML文档中读取一行文本:
public static String getCharacterDataFromElement(Element e) {
Node child = ((Node) e).getFirstChild();
if (child instanceof CharacterData) {
CharacterData cd = (CharacterData) child;
return cd.getData();
}
return "";
}
它可以正常工作,但是如果遇到与&符号等字符不同的字符,而该字符的书写方式不如
&
等,则它将完全忽略该字符以及该行的其余部分。我该怎么办才能纠正这个问题? 最佳答案
唯一正确的解决方案是纠正XML,以便将&
编写为&
,或者将文本包装在<![CDATA[
... ]]>
中。
它实际上不是XML,除非您逃脱&符号或使用CDATA。