特殊字符在java中的xml dom中解析错误

时间:2011-07-30 13:44:36

标签: java xml dom

我在java中使用org.w3c.dom来读取带有以下函数的xml

try
        {
            cwNodes =  xmlDoc.getElementsByTagName("cw-page");
        }
        catch(Exception doe)
        {
            BusinessLogic.WriteLog("Exp msg: "+doe.getMessage());

        }

xml是

<cw-page id='4545' num='1'>dlfdlkfsdf</cw-page>

它读得很好,但是当我通过以下xml

<cw-page id='4545' num='1'>dlfdlkfsdf&!@#%^*()</cw-page>

它没有读它,异常essage也是null,不知道有什么问题可以帮助,谢谢

1 个答案:

答案 0 :(得分:4)

&不能单独出现在XML文档中,因为它用于启动XML entity reference。因此,如果解析器必须正确解析其内容并在文本内容中返回&amp;,则您的XML文档必须包含&而不是&。如果XML解析器本身存在,那么&不是唯一不能错误解析的字符;还有其他字符必须作为predefined XML entities存在才能正确解析。

您应该更正文档,使用实体引用或使用CDATA部分来传输有效内容中的特殊字符。