zoukankan      html  css  js  c++  java
  • Java DOM方式解析XML(模板)

     1 //创建一个DocumentBuilderFactory工厂实例
     2         DocumentBuilderFactory DBF=DocumentBuilderFactory.newInstance();
     3         //通过工厂实例对象创建一个DocumentBuilder实例
     4         DocumentBuilder DB=DBF.newDocumentBuilder();
     5         //解析URL指定的XML文件,并保存到D变量
     6         Document D=DB.parse("URL路径");
     7         //通过标签名获取节点标签
     8         NodeList NL=D.getElementsByTagName("标签");
     9         //循环遍历NL集合
    10         for(int i=0;i<NL.getLength();i++){
    11             //通过索引值获取指定的Node节点
    12             Node N=NL.item(i);
    13             /*获取指定属性(已知属性名和数量为1)
    14              * 节点强制类型转换
    15              * Element E=(Element)E;
    16              *通过属性名获取属性值
    17              * E.getAttribute("node_name");
    18              * */
    19             //获取节点的所有属性
    20             NamedNodeMap NNM=N.getAttributes();
    21             //遍历属性Map集合
    22             for(int j=0;j<NNM.getLength();j++){
    23                 //通过索引获取指定属性
    24                 Node attributeNode=NNM.item(j);
    25                 //获取属性节点Name名称
    26                 attributeNode.getNodeName();
    27                 //获取属性节点Value属性值
    28                 attributeNode.getNodeValue();
    29             }
    30             
    31             //获取N节点的所有子节点
    32             NodeList NL1=N.getChildNodes();
    33             //遍历NL1集合
    34             for(int k=0;k<NL1.getLength();k++){
    35                 //筛选出非节点的
    36                 if(NL1.item(k).getNodeType()==Node.ELEMENT_NODE){
    37                     //获取节点名
    38                     NL1.item(k).getNodeName();
    39                     //获取当前节点的子节点的值,XML文件一切皆为节点
    40                     //也可通过NL1.item(k).getTextContent()方法获取文本节点
    41                     //getTextContent区别是这个会把子节点的元素的Text值合并起来输出
    42                     NL1.item(k).getFirstChild().getNodeValue();
    43                 }
    44             }
    45         }
    复制请注明出处,在世界中挣扎的灰太狼
  • 相关阅读:
    订餐系统
    throw和throws
    CF999E Solution
    CF1142B Solution
    CF965C Solution
    CF963B Solution
    CF999F Solution
    CF975D Solution
    CF997B Solution
    hdu 2553 N皇后
  • 原文地址:https://www.cnblogs.com/XingXiaoMeng/p/6853705.html
Copyright © 2011-2022 走看看