我有一个正在解析的 xml 文件,我有以下标记...
<desc>
/wap/news/text.jsp?sid=242&nid=5662369&cid=5038&scid=-1
</desc>
我无法控制此 xml 文件的格式,但我需要将 desc 内容解释为部分 url,稍后我将附加到基本 URL 并检索新文件。
当我解析这个时,desc 标签有一个子节点,一个值为...的文本节点
/wap/news/text.jsp?sid=242
但该行的其余部分被解析为上述文本节点上的 6 个子节点,其值为...
&
nid=5662369
&
cid=5038
&
scid=-1
如何让解析器将其视为单个文本节点,而不将“&”符号解释为子节点。
相关解析代码如下。
HttpConnection c = (HttpConnection) Connector.open(inURL.toString(), Connector.READ);
is = c.openInputStream();
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setIgnoringElementContentWhitespace(true);
factory.setAllowUndefinedNamespaces(true);
DocumentBuilder builder = factory.newDocumentBuilder();
document = builder.parse(is);
这是黑莓机上的 J2ME 代码,所以我可用的 API 非常有限。
最佳答案
&
是 XML 中的一个特殊字符。它需要转义为 &
。
如果某些东西正在生成上述文本文件,那么它就不会生成有效的 XML。
关于java - 为什么&符号被解释为文本节点上的 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2130069/