【发布时间】:2014-01-14 00:39:00
【问题描述】:
我有这样的xml:
<param>
<name>some_list</name>
<value>
<items>
<item>
<value>7</value>
<type>Long</type>
</item>
<item>
<value>23</value>
<type>String</type>
</item>
<item>
<value>1.0</value>
<type>Double</type>
</item>
<item>
<value>true</value>
<type>Boolean</type>
</item>
<item>
<value>13-01-2014 16:03:50</value>
<type>Date</type>
</item>
<item>
<value>[7, false]</value>
<type>String</type>
</item>
</items>
</value>
<type>Collection</type>
</param>
我需要获取 type 节点的值 - 子 od param 节点(在本例中为“集合”)。我对 item 节点的子节点不感兴趣,因此解决方案如下:
NodeList nodes = element.getElementsByTagName("type").item(0).getChildNodes();
Node node = (Node) nodes.item(0);
return node.getNodeValue();
是错误的(它返回“Long”,而不是“Collection”!)
【问题讨论】:
-
Long 是第一个元素上按类型标记的值,例如 item(0) 为什么你希望它是字符串?
-
我希望它是 'Collection' - 比 'param' 节点低一级。