Java读取xml数据
生活随笔
收集整理的這篇文章主要介紹了
Java读取xml数据
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
xml中的代碼
<?xml version="1.0" encoding="UTF-8"?><books id="aaa"><book id="1"><name>書(shū)名1</name><price>100</price></book><book id="2"> <name>書(shū)名2</name><price>300</price></book> </books>java中的代碼
import java.io.File; import java.io.IOException;import javax.lang.model.element.Element; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.soap.Node;import org.w3c.dom.Document; import org.w3c.dom.NodeList; import org.xml.sax.SAXException;public class ReadXml {public static void main(String[] args) {try {//java讀取xml的方法。DOM方式DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();DocumentBuilder builder=factory.newDocumentBuilder();Document document=builder.parse(new File("NewFile.xml"));//獲取文檔根元素org.w3c.dom.Element root=document.getDocumentElement();//輸出根元素id的值System.out.println(root.getAttribute("id"));//獲取子級(jí)元素NodeList list= root.getElementsByTagName("book");//循環(huán)輸出xml標(biāo)簽元素的值for (int i = 0; i < list.getLength(); i++) {org.w3c.dom.Element book=(org.w3c.dom.Element)list.item(i);System.out.println("--------");System.out.println("id="+book.getAttribute("id")); //獲取所有子節(jié)點(diǎn)NodeList list1=book.getChildNodes();//循環(huán)輸出子節(jié)點(diǎn)中的元素內(nèi)容for (int j = 0; j < list1.getLength(); j++) {org.w3c.dom.Node child=(org.w3c.dom.Node)list1.item(j); //去掉空白節(jié)點(diǎn)if(child instanceof org.w3c.dom.Element){System.out.println(child.getNodeName()+"標(biāo)簽內(nèi)容是"+child.getTextContent());}}//讀取子節(jié)點(diǎn)中元素的值,都要重新創(chuàng)建一個(gè)element對(duì)象/*org.w3c.dom.Element name=(org.w3c.dom.Element) book.getElementsByTagName("name").item(0);System.out.println("name="+name.getTextContent());*/} } catch (ParserConfigurationException e){ e.printStackTrace();} catch (SAXException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}運(yùn)行結(jié)果
aaa -------- id=1 name標(biāo)簽內(nèi)容是書(shū)名1 price標(biāo)簽內(nèi)容是100 -------- id=2 name標(biāo)簽內(nèi)容是書(shū)名2 price標(biāo)簽內(nèi)容是300?
轉(zhuǎn)載于:https://www.cnblogs.com/275147378abc/p/5212393.html
總結(jié)
以上是生活随笔為你收集整理的Java读取xml数据的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: iOS8.3越狱卡在20%无反应解决办法
- 下一篇: synchronized的使用方法