美文网首页
使用Java解析xml

使用Java解析xml

作者: 静候那一米阳光 | 来源:发表于2017-03-03 22:17 被阅读0次

    使用dom4j-1.6.1.jar。
    百度网盘下载

    【Parser.class】

    import org.dom4j.*;
    import java.io.File;
    import java.util.List;
    
    public class Parser {
        private Element root=null;
        Parser(String file) throws DocumentException {
            SAXReader sax = new SAXReader();//创建一个SAXReader对象
            File xmlFile = new File(file);//根据指定的路径创建file对象
            Document document = sax.read(xmlFile);//获取document对象,如果文档无节点,则会抛出Exception提前结束
            root = document.getRootElement();//获取根节点
        }
        public Element getRoot(){
            return root;
        }
        public void getNodes(Element node){
            System.out.println("--------------------");
            //当前节点的名称、文本内容和属性
            System.out.println("当前节点名称:"+node.getName());//当前节点名称
            System.out.println("当前节点内容:"+node.getTextTrim());//当前节点内容
            List<Attribute> listAttr=node.attributes();//当前节点的所有属性的list
            for(Attribute attr:listAttr){//遍历当前节点的所有属性
                String name=attr.getName();//属性名称
                String value=attr.getValue();//属性的值
                System.out.println("属性名称:"+name+" 属性值:"+value);
            }
            //递归遍历当前节点所有的子节点
            List<Element> listElement=node.elements();//所有一级子节点的list
            for(Element e:listElement){//遍历所有一级子节点
                this.getNodes(e);//递归
            }
        }
    }
    

    【main.class】

    public class main {
        public static void main(String[] args) throws Exception {
            Parser p=new Parser("/Users/zdy/Workspace/test.xml");
            p.getNodes(p.getRoot());
        }
    }
    

    相关文章

      网友评论

          本文标题:使用Java解析xml

          本文链接:https://www.haomeiwen.com/subject/pyzrgttx.html