星空网 > 软件开发 > Java

第一天加入博客园,很高兴,相互学习嘛,最近看老方的视频学了下dom解析xml,可以分享下,多谢大家支持,

dom解析

public static Document getDocument() throws Exception{
    //1.创建工厂
    DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
    //2.得到dom解析器
    DocumentBuilder builder=factory.newDocumentBuilder();
    //3.解析    return builder.parse(filename);//filename 为解析的

}

<?    <书>
        <书名 name = “xxx”>Java就业培训教程</书名>
        <作者>张孝祥</作者>
        <售价>59.00元</售价>
        </书>
    <书>
        <书名>JavaScript网页开发</书名>
        <作者>张孝祥</作者>
        <售价>28.00元</售价>
    </书>
</书架>

读操作1

NodeList list=document.getElementsByTagName("书名");
        Node node= list.item(1);
        String content=node.getTextContent();
        System.out.println(content);

读操作2遍历所有节点

        Node root = document.getElementsByTagName("书架").item(0);//得到根节点
        list(root);

private void list(Node node) {
        if(node instanceof Element ){
            System.out.println(node.getNodeName());
        }
        NodeList list = node.getChildNodes();
        for(int i=0;i<list.getLength();i++){

            Node child = list.item(i);
            list(child);
        }

}

获得目标节点属性

Element bookname=(Element) document.getElementsByTagName("书名").item(0);
        String value=bookname.getAttribute("name");
        System.out.println(value);

增加节点

//创建节点
        Element price = document.createElement("售价");
        price.setTextContent("59.00元");
       
        //创建节点挂载第一本书
        Element book =(Element) document.getElementsByTagName("书").item(0);
        book.appendChild(price);

//把更新的数据写回文档中
       
        TransformerFactory tffactory=TransformerFactory.newInstance();
        Transformer tf=tffactory.newTransformer();
        tf.transform(new DOMSource(document), new StreamResult(new FileOutputStream(filename)));

指定位置插入

//创建节点
        Element price = document.createElement("售价");
        price.setTextContent("59.00元");
        //得到参考节点
        Element refNode=(Element) document.getElementsByTagName("售价").item(0);
        //得到挂载的节点
        Element book =(Element) document.getElementsByTagName("书").item(0);
        //往book节点的指定位置插入
        book.insertBefore(price, refNode);

//把更新的数据写回文档中
       
        TransformerFactory tffactory=TransformerFactory.newInstance();
        Transformer tf=tffactory.newTransformer();
        tf.transform(new DOMSource(document), new StreamResult(new FileOutputStream(filename)));

添加节点的属性

Element bookname=(Element) document.getElementsByTagName("书名").item(0);
        bookname.setAttribute("name", "xxxxxx");

删除节点

//得到要删除的节点
        Element element=(Element) document.getElementsByTagName("售价").item(0);

element.getParentNode().removeChild(element);

//把更新的数据写回文档中
       
        TransformerFactory tffactory=TransformerFactory.newInstance();
        Transformer tf=tffactory.newTransformer();
        tf.transform(new DOMSource(document), new StreamResult(new FileOutputStream(filename)));




原标题:第一天加入博客园,很高兴,相互学习嘛,最近看老方的视频学了下dom解析xml,可以分享下,多谢大家支持,

关键词:xml

xml
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

跨境电商物流发货流程:https://www.goluckyvip.com/tag/92939.html
福永跨境物流:https://www.goluckyvip.com/tag/92940.html
跨境物流日本专线:https://www.goluckyvip.com/tag/92942.html
电商跨境电商物流:https://www.goluckyvip.com/tag/92943.html
temu跨境电商物流:https://www.goluckyvip.com/tag/92944.html
跨境电商跨境物流:https://www.goluckyvip.com/tag/92945.html
七月份适合去日本旅游吗 7月份去日本哪里好玩:https://www.vstour.cn/a/363192.html
凤岗汽车站到松山湖风景区 松岗汽车站到凤凰山怎么坐车:https://www.vstour.cn/a/363193.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流