首页 新闻 会员 周边

Xml查找节点

0
悬赏园豆:30 [待解决问题]

<xml>

<A>

<aa></aa>

</A>

<B>

<bb></bb>

</B>

</xml>

查找 A节点下的aa和B节点的bb

Lah98的主页 Lah98 | 初学一级 | 园豆:99
提问于:2016-08-29 09:04
< >
分享
所有回答(2)
0

首先将这个 xml文本转成 Xml document 然后获取 对应的节点node. 需要用到dom4j 代码如下:

public void getXmlNodeValue(){

    String xmlString="<xml><A><aa></aa></A>...</xml>";

    //1.将xml document对象。
    Document doc=string2XmlDocument(result);

    //2.获取指定的node
   String result=null;
    Node aaNode=doc.selectSingleNode("//A/aa");
    if(aaNode!=null){
        result=aaNode.getStringValue();
    }
    System.out.pringln("aa节点值:"+result);

}

public static Document string2XmlDocument(String xmlString){
        if(StringUtils.isBlank(xmlString)){
            return null;
        }
        logger.info(xmlString);
        SAXReader saxReader = new SAXReader();
        Document document=null;
        try {
            document = saxReader.read(new ByteArrayInputStream(xmlString.getBytes(AlipayConfig.input_charset)));
        } catch (Exception e) {
            logger.error(" string 2 xml document error:"+e);
        }
        return document;
    }

 

 

 

逃离沙漠 | 园豆:259 (菜鸟二级) | 2016-08-29 09:16

首先我觉得要获取xml这个节点,然后获取xml下的子节点的个数 ,循环出来 然后找到子节点下的子节点  不过查询的方法一窍不通。。 

支持(0) 反对(0) Lah98 | 园豆:99 (初学一级) | 2016-08-29 09:23

@Lah98: 我上面回答的是直接获取指定节点的方法。如果是先循环遍历xml,查找节点,以及子节点,看这里的一篇博客:http://www.cnblogs.com/demingblog/p/3246870.html

支持(0) 反对(0) 逃离沙漠 | 园豆:259 (菜鸟二级) | 2016-08-29 09:49
0

.net?自己找XmlDocument相关的东西就行了,还有,了解一下XPath。。。

顾晓北 | 园豆:10844 (专家六级) | 2016-08-29 09:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册