资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

如何在JAVA中利用DOM解析XML文件

如何在JAVA中利用DOM解析XML文件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

成都创新互联公司-专业网站定制、快速模板网站建设、高性价比华容网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式华容网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖华容地区。费用合理售后完善,十年实体公司更值得信赖。

代码如下

import java.io.IOException;
import javax.xml.parsers.*;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class Domtest {

  public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException {
    //创建一个DocumentBuilderFactory对象
    DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
    //创建一个Doucumentbuild对象
    DocumentBuilder db=dbf.newDocumentBuilder();
    //解析对应的xml文件
    Document doc=db.parse("tes.xml");
    //根据标签名获取Node节点list
    NodeList nodelist=doc.getElementsByTagName("book");
    System.out.println("共有"+nodelist.getLength()+"本书");
    //遍历每一个book节点
    for(int i=0;i……算一个节点,所以共有9个节点,而这些节点中,只有对象节点是我们需要的 
        Node x=childnode.item(j);
        if(x.getNodeType()==Node.ELEMENT_NODE){//当节点类型为Element时,获取该节点
          //获取element类型的节点名
          System.out.println("节点"+j+"的名字:"+x.getNodeName()+" 值:/"+x.getLastChild().getNodeValue()+"/种类为"+x.getLastChild().getNodeType());//xyz,xyz属于的子节点,使用getfirstChild或getLastNode效果相同
          System.out.println("节点"+j+"的名字:"+x.getNodeName()+" 值:/"+x.getTextContent()+"/种类为"+x.getNodeType());//getTextContent方法可以获取节点中所有的text内容 将xyz改为123xyz,会获取到xyz123
        }
      }
    }
  }
}
//为了将获取到的xml文件中内容保存下来,可以将内容保存到对象数组中一次来存储数据


  
  冰与火之歌
  乔治马丁
  2014
  80
  

  安徒生童话
  2004
  79
  English

如何在JAVA中利用DOM解析XML文件

注意点

1 空白换行符也算节点,所以遍历节点时需要注意这些无用的节点会混在list中

2 text类节点返回Name值都是#text,而Element类节点返回value值都是null,需要注意

关于如何在JAVA中利用DOM解析XML文件问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


当前名称:如何在JAVA中利用DOM解析XML文件
网页URL:http://www.cdkjz.cn/article/pogeji.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220