dom解析xml

本文提供了一个使用Java DOM解析XML文件的示例代码,展示了如何读取XML文档中的节点数据,包括书名、作者、描述及出版日期等信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package demo.xml;

//作者 sunchengjun
//时间 2006年11日5日
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class DOMParsePage {

public DOMParsePage() {
DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();
try {
     DocumentBuilder dombuilder=domfac.newDocumentBuilder();
InputStream is=new FileInputStream(
"C:/123.xml");
Document doc=dombuilder.parse(is);
Element root=doc.getDocumentElement();
NodeList books=root.getChildNodes();
if(books!=null){
for(int i=0;i<books.getLength();i++){
Node book=books.item(i);
     for(Node node=book.getFirstChild();node!=null;node=node.getNextSibling())
             {
if(node.getNodeType()==Node.ELEMENT_NODE){  

if(node.getNodeName().equals(
"title")){
     String bookname=node.getFirstChild().getNodeValue();
     System.out.println(bookname);
        }

         if(node.getNodeName().equals(
"author")){
     String author1=node.getFirstChild().getNodeValue();
     System.out.println(author1);
               }
         
  if(node.getNodeName().equals(
"description")){
        String addtime=node.getFirstChild().getNodeValue();
        System.out.println(addtime);
       }
  
        if(node.getNodeName().equals(
"pubDate")){
        String price=node.getFirstChild().getNodeValue();
        System.out.println(price);
        }   
     }
    }
    }


}

}
catch (ParserConfigurationException e) {
   e.printStackTrace();
}
     catch (FileNotFoundException e) {
   e.printStackTrace();
}
catch (SAXException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}


}


public static void main(String[] args) {
    new DOMParsePage();
}

}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值