getTextContent()不是一个可识别的函数。 getNodeValue()对字符串工作正常,但任何时候我尝试使用getNodeValue()解析数字时,它都会返回null!org.w3c.dom.Node Android版本小于2.2
如何使用此类从XML解析Long?
getTextContent()不是一个可识别的函数。 getNodeValue()对字符串工作正常,但任何时候我尝试使用getNodeValue()解析数字时,它都会返回null!org.w3c.dom.Node Android版本小于2.2
如何使用此类从XML解析Long?
如果像你说的“getNodeValue()工作正常字符串”,那么也不应该做预防:
Long l = Long.getLong(node.getNodeValue());
注意,getNodeValue()
将始终返回String
应然后手动转换为数字类型。
另外 - 你确定你正在解析一个正确的节点(持有所需的长期价值)?
您需要向下导航到文本节点。举例来说,像这样的东西:
<val>10000</val>
解析XML树有,反过来,先后为“10000”的子节点的文本标签中的元素节点。典型的习惯用法
valNode.getFirstChild().getNodeValue()
这一现象的根本原因是getTextContent()
方法是W3C DOM 3级方法;请参阅DOM级别3核心规范的changes部分。
Node接口有两个新属性Node.baseURI和Node.textContent。 ...
和getTextContent()
是新属性的获取者。
(据推测,旧版本的Android不实现DOM 3级的API。)
的getTextContent()
的行为是有点在一般情况下,复杂的;请参阅textContext attribute的规格。在目标节点是具有(仅)文本内容的元素的简单情况下,node.getTextContext()
与node.getFirstChild().getNodeValue()
相同。