java - 为什么&符号被解释为文本节点上的 child

标签 java xml dom blackberry

我有一个正在解析的 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/

相关文章:

java - 尝试在 EditText 中将数字设置为文本

java - 如何在java中搜索xml标签名称

javascript - 停止加载页面元素

javascript - 使用jquery更改图像标签的src中的一些文本

javascript - 滚动列表后 jQuery 鼠标事件不起作用

java - Android Studio : Session 'MainActivity' : error, 但是没有报错

java - 预先创建的 SQLite 数据库集成到 Android 应用程序中

java - 如何在 Hibernate 中使用 SELECT 进行 INSERT

java - 如何在 JSON 输出中获取单引号字符串数组?

java - 如何仅获取 ELEMENT_NODE 类型的子节点