我正在使用以下方法通过网络从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,以便将&编写为&amp;,或者将文本包装在<![CDATA[ ... ]]>中。

它实际上不是XML,除非您逃脱&符号或使用CDATA。

10-06 09:33