java 查找 xml 节点

王恩文 发布于 2016/05/25 19:16
阅读 274
收藏 0
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<rawdatajudge>ori
        <filetype>A
                <sequence>0001
                        <typecode>A.0001.0001.R001
                                <rename>0</rename>
                                <backup>1</backup>
                                <process>1</process>
                                <storage>0</storage>
                        </typecode>
                        <typecode>A.0001.0002.R001
                                <rename>0</rename>
                                <backup>1</backup>
                                <process>1</process>
                                <storage>0</storage>
                        </typecode>
                        <typecode>A.0001.0003.R001
                                <rename>0</rename>
                                <backup>1</backup>
                                <process>1</process>
                                <storage>0</storage>
                        </typecode>
                </sequence>
        </filetype>
<filetype>B
                <sequence>0001
                        <typecode>B.0001.0001.R001
                                <rename>0</rename>
                                <backup>1</backup>
                                <process>1</process>
                                <storage>0</storage>
                        </typecode>
                        <typecode>B.0001.0002.R001
                                <rename>0</rename>
                                <backup>1</backup>
                                <process>1</process>
                                <storage>0</storage>
                        </typecode>
                        <typecode>B.0001.0003.R001
                                <rename>0</rename>
                                <backup>1</backup>
                                <process>1</process>
                                <storage>0</storage>
                        </typecode>
                </sequence>
        </filetype>

</rawdatajudge>


如何查找B.0001.0002.R001 节点 ?

加载中
1
李玉珏
李玉珏

你可以研究下XPath技术。

很简单的的XML查询语言。

0
蛋看江湖
蛋看江湖
dom4j,还有简单点的 xml转json的工具 ,后面你就懂了
0
王恩文
XPath ,dom4j 对这个不规范的xml 好像都没有办法。
0
sprouting
sprouting

看API啊,

常用的读取xml文件操作:

读取XML文件,获得document对象.      

       SAXReader reader = new SAXReader();  

      Document   document = reader.read(new File("input.xml"));

获取文档的根节点.      

Element rootElm = document.getRootElement();

取得某节点的单个子节点     

Element memberElm=root.element("member");// "member"是节点名

取得节点的文字      

String text=memberElm.getText();     

String text=root.elementText("name");这个是取得根节点下的name字节点的文字

取得某节点下指定名称的所有节点并进行遍历     

List nodes = rootElm.elements("member");      

for (Iterator it = nodes.iterator(); it.hasNext();) {      

    Element elm = (Element) it.next();      

   // do something      

}  

对某节点下的所有子节点进行遍历.      

            for(Iterator it=root.elementIterator();it.hasNext();){      

                 Element element = (Element) it.next();      

                // do something      

             }  

0
卡布达巨人
卡布达巨人
我觉得楼上说的很好
返回顶部
顶部