首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

java中怎么直接获得xml中的某个指定的节点

2012-11-14 
java中如何直接获得xml中的某个指定的节点??? 最近遇到一个问题,用java解析xml时,需要获得一个xml文档中指

java中如何直接获得xml中的某个指定的节点

??? 最近遇到一个问题,用java解析xml时,需要获得一个xml文档中指定的某个节点,当然最简单的办法就是遍历所有的节点,如某个节点满足条件,则是我们要的结果,但我不想遍历所有的节点,因为这个问题只是一个复杂过程中的一小步,它会被反复调用,因此我需要最直接的方法获得某个已知属性值的确定节点。因此,这个问题也可以概括为:有没有根据节点(或name)属性名获得该节点的原api。
???? 具体一些,有如下xml文档:

<sheet><field row="2" col="2"  type="int">DEA_XZ</field2_2><field row="2" col="3"  type="string">RTP_ID</field2_3><field row="2" col="4"  type="string">DEA_YEAR</field2_4><field row="2" col="7"  type="int">DEA_RTP_TYPE</field2_7></sheet>

?? 我想获得row="2" col="3"的节点,据我所查,好像没有直接的方法。
?? 变通一下,xml修改如下:

?

<sheet><field name="row2_col2"  type="int">DEA_XZ</field2_2><field name="row2_col3"  type="string">RTP_ID</field2_3><field name="row2_col4"  type="string">DEA_YEAR</field2_4><field name="row2_col7"  type="int">DEA_RTP_TYPE</field2_7></sheet>

?? 这样呢?有没有直接的api,可以获得name为row2_col3的节点?同样,我也没有得到答案,大家有知道告诉小弟一下,不胜感激。
?? 实在没有办法,我就用了种“另类”的方式,xml如下:

<sheet><field2_2 type="int">DEA_XZ</field2_2><field2_3 type="string">RTP_ID</field2_3><field2_4 type="string">DEA_YEAR</field2_4><field2_7 type="int">DEA_RTP_TYPE</field2_7></sheet>

?? 这样看起来很不优雅,至少我是这么认为的。但这样却可以直接拿到你想要的节点:

?

org.jdom.Element root = document.getRootElement();root.getChild("field2_3");

?? 目前,我就是这样解决的,但我感觉很不优雅,我想我的xml文档(配置)文件应该保持第一种或第二种格式更好些。所以请大家帮忙,看看有没有直接的方法(api).

1 楼 咖啡舞者 2009-03-02   XPATH 看看 2 楼 greatghoul 2009-03-03   和html一样的道理嘛
org.w3c.dom
接口 Document
Element getElementById(String elementId)
3 楼 DavyLee 2009-03-03   greatghoul 写道
和html一样的道理嘛org.w3c.dom 接口 DocumentElement getElementById(String elementId)

已经说了,我没有找到这样得api,你自己可以找找看

热点排行