日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java Stax解析XML示例

瀏覽:19日期:2022-08-23 15:44:51

package org.itat.stax;import java.io.IOException;import java.io.InputStream;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.ParserConfigurationException;import javax.xml.stream.EventFilter;import javax.xml.stream.FactoryConfigurationError;import javax.xml.stream.XMLEventReader;import javax.xml.stream.XMLInputFactory;import javax.xml.stream.XMLOutputFactory;import javax.xml.stream.XMLStreamConstants;import javax.xml.stream.XMLStreamException;import javax.xml.stream.XMLStreamReader;import javax.xml.stream.XMLStreamWriter;import javax.xml.stream.events.XMLEvent;import javax.xml.transform.OutputKeys;import javax.xml.transform.Result;import javax.xml.transform.Transformer;import javax.xml.transform.TransformerConfigurationException;import javax.xml.transform.TransformerException;import javax.xml.transform.TransformerFactory;import javax.xml.transform.TransformerFactoryConfigurationError;import javax.xml.transform.dom.DOMSource;import javax.xml.transform.stream.StreamResult;import javax.xml.xpath.XPath;import javax.xml.xpath.XPathConstants;import javax.xml.xpath.XPathExpressionException;import javax.xml.xpath.XPathFactory;import org.junit.Test;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.NodeList;import org.xml.sax.SAXException;public class TestStax { @Test public void test01() { XMLInputFactory factory = XMLInputFactory.newInstance(); InputStream is = null; try { is = TestStax.class.getClassLoader().getResourceAsStream('books.xml'); XMLStreamReader reader = factory.createXMLStreamReader(is); while(reader.hasNext()) {int type = reader.next();//判斷節點類型是否是開始或者結束或者文本節點,之后根據情況及進行處理if(type==XMLStreamConstants.START_ELEMENT) { System.out.println(reader.getName());} else if(type==XMLStreamConstants.CHARACTERS) { System.out.println(reader.getText().trim());} else if(type==XMLStreamConstants.END_ELEMENT) { System.out.println('/'+reader.getName());} } } catch (XMLStreamException e) { e.printStackTrace(); } finally { try {if(is!=null) is.close(); } catch (IOException e) {e.printStackTrace(); } } } @Test public void test02() { XMLInputFactory factory = XMLInputFactory.newInstance(); InputStream is = null; try { is = TestStax.class.getClassLoader().getResourceAsStream('books.xml'); XMLStreamReader reader = factory.createXMLStreamReader(is); while(reader.hasNext()) {int type = reader.next();if(type==XMLStreamConstants.START_ELEMENT) { String name = reader.getName().toString(); if(name.equals('book')) { System.out.println(reader.getAttributeName(0)+':'+reader.getAttributeValue(0)); }} } } catch (XMLStreamException e) { e.printStackTrace(); } finally { try {if(is!=null) is.close(); } catch (IOException e) {e.printStackTrace(); } } } @Test public void test03() { XMLInputFactory factory = XMLInputFactory.newInstance(); InputStream is = null; try { is = TestStax.class.getClassLoader().getResourceAsStream('books.xml'); XMLStreamReader reader = factory.createXMLStreamReader(is); while(reader.hasNext()) {int type = reader.next();if(type==XMLStreamConstants.START_ELEMENT) { String name = reader.getName().toString(); if(name.equals('title')) { System.out.print(reader.getElementText()+':'); } if(name.equals('price')) { System.out.print(reader.getElementText()+'n'); }} } } catch (XMLStreamException e) { e.printStackTrace(); } finally { try {if(is!=null) is.close(); } catch (IOException e) {e.printStackTrace(); } } } @Test public void test04() { XMLInputFactory factory = XMLInputFactory.newInstance(); InputStream is = null; try { is = TestStax.class.getClassLoader().getResourceAsStream('books.xml'); //基于迭代模型的操作方式 XMLEventReader reader = factory.createXMLEventReader(is); int num = 0; while(reader.hasNext()) {//通過XMLEvent來獲取是否是某種節點類型XMLEvent event = reader.nextEvent();if(event.isStartElement()) { //通過event.asxxx轉換節點 String name = event.asStartElement().getName().toString(); if(name.equals('title')) { System.out.print(reader.getElementText()+':'); } if(name.equals('price')) { System.out.print(reader.getElementText()+'n'); }}num++; } System.out.println(num); } catch (XMLStreamException e) { e.printStackTrace(); } finally { try {if(is!=null) is.close(); } catch (IOException e) {e.printStackTrace(); } } } @Test public void test05() { XMLInputFactory factory = XMLInputFactory.newInstance(); InputStream is = null; try { is = TestStax.class.getClassLoader().getResourceAsStream('books.xml'); //基于Filter的過濾方式,可以有效的過濾掉不用進行操作的節點,效率會高一些 XMLEventReader reader = factory.createFilteredReader(factory.createXMLEventReader(is), new EventFilter() { @Override public boolean accept(XMLEvent event) { //返回true表示會顯示,返回false表示不顯示 if(event.isStartElement()) {String name = event.asStartElement().getName().toString();if(name.equals('title')||name.equals('price')) return true; } return false; } }); int num = 0; while(reader.hasNext()) {//通過XMLEvent來獲取是否是某種節點類型XMLEvent event = reader.nextEvent();if(event.isStartElement()) { //通過event.asxxx轉換節點 String name = event.asStartElement().getName().toString(); if(name.equals('title')) { System.out.print(reader.getElementText()+':'); } if(name.equals('price')) { System.out.print(reader.getElementText()+'n'); }}num++; } System.out.println(num); } catch (XMLStreamException e) { e.printStackTrace(); } finally { try {if(is!=null) is.close(); } catch (IOException e) {e.printStackTrace(); } } } @Test public void test06() { InputStream is = null; try { is = TestStax.class.getClassLoader().getResourceAsStream('books.xml'); //創建文檔處理對象 DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder(); //通過DocumentBuilder創建doc的文檔對象 Document doc = db.parse(is); //創建XPath XPath xpath = XPathFactory.newInstance().newXPath(); //第一個參數就是xpath,第二參數就是文檔 NodeList list = (NodeList)xpath.evaluate('//book[@category=’WEB’]', doc,XPathConstants.NODESET); for(int i=0;i<list.getLength();i++) {//遍歷輸出相應的結果Element e = (Element)list.item(i);System.out.println(e.getElementsByTagName('title').item(0).getTextContent()); } } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (XPathExpressionException e) { e.printStackTrace(); } finally { try {if(is!=null) is.close(); } catch (IOException e) {e.printStackTrace(); } } } @Test public void test07() { try { XMLStreamWriter xsw = XMLOutputFactory.newInstance().createXMLStreamWriter(System.out); xsw.writeStartDocument('UTF-8','1.0'); xsw.writeEndDocument(); String ns = 'http://11:dd'; xsw.writeStartElement('nsadfsadf','person',ns); xsw.writeStartElement(ns,'id'); xsw.writeCharacters('1'); xsw.writeEndElement(); xsw.writeEndElement(); xsw.flush(); xsw.close(); } catch (XMLStreamException e) { e.printStackTrace(); } catch (FactoryConfigurationError e) { e.printStackTrace(); } } @Test public void test08() { InputStream is = null; try { is = TestStax.class.getClassLoader().getResourceAsStream('books.xml'); //創建文檔處理對象 DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder(); //通過DocumentBuilder創建doc的文檔對象 Document doc = db.parse(is); //創建XPath XPath xpath = XPathFactory.newInstance().newXPath(); Transformer tran = TransformerFactory.newInstance().newTransformer(); tran.setOutputProperty(OutputKeys.ENCODING,'UTF-8'); tran.setOutputProperty(OutputKeys.INDENT, 'yes'); //第一個參數就是xpath,第二參數就是文檔 NodeList list = (NodeList)xpath.evaluate('//book[title=’Learning XML’]', doc,XPathConstants.NODESET); //獲取price節點 Element be = (Element)list.item(0); Element e = (Element)(be.getElementsByTagName('price').item(0)); e.setTextContent('333.9'); Result result = new StreamResult(System.out); //通過tranformer修改節點 tran.transform(new DOMSource(doc), result); } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (XPathExpressionException e) { e.printStackTrace(); } catch (TransformerConfigurationException e) { e.printStackTrace(); } catch (TransformerFactoryConfigurationError e) { e.printStackTrace(); } catch (TransformerException e) { e.printStackTrace(); } finally { try {if(is!=null) is.close(); } catch (IOException e) {e.printStackTrace(); } } }}

<?xml version='1.0' encoding='UTF-8'?><bookstore><book category='COOKING'> <title lang='en'>Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price></book><book category='CHILDREN'> <title lang='en'>Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price></book><book category='WEB'> <title lang='en'>XQuery Kick Start</title> <author>James McGovern</author> <author>Per Bothner</author> <author>Kurt Cagle</author> <author>James Linn</author> <author>Vaidyanathan Nagarajan</author> <year>2003</year> <price>49.99</price></book><book category='WEB'> <title lang='en'>Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price></book></bookstore>

以上就是Java Stax解析XML示例的詳細內容,更多關于Java 解析XML的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
精品视频久久| 国产精品videossex| 天堂网av成人| 久久激情网站| 99视频在线精品国自产拍免费观看| 国产综合婷婷| 男女性色大片免费观看一区二区| 石原莉奈在线亚洲二区| 日本亚洲视频| 国产亚洲欧美日韩精品一区二区三区 | 色8久久久久| 四虎在线精品| 麻豆极品一区二区三区| 国内精品麻豆美女在线播放视频| 亚洲日本网址| 日韩一区二区免费看| 亚洲天堂av资源在线观看| 日韩国产精品久久久久久亚洲| 欧美a一区二区| 日韩一区二区三区免费| 国产一区91| 亚洲制服一区| 久久精品99国产精品| 精品不卡一区| 国产99精品| 亚洲v天堂v手机在线| 国产九九精品| 九色porny丨国产首页在线| 欧美日韩中文字幕一区二区三区| 一区二区精品| 国语对白精品一区二区| 极品裸体白嫩激情啪啪国产精品| 亚洲日产av中文字幕| 欧美黑人做爰爽爽爽| 久久久久久久久丰满| 亚洲精品婷婷| 国产在线一区不卡| 亚洲激情中文在线| 国产亚洲高清一区| 久久高清免费| 青青国产91久久久久久| 欧美13videosex性极品| 妖精视频成人观看www| 7777精品| 韩国精品主播一区二区在线观看| 中文字幕视频精品一区二区三区| 久久影院资源站| 亚洲综合不卡| 麻豆一区二区三区| 最新日韩av| 久久久国产精品入口麻豆| 午夜欧美精品久久久久久久| 日韩美女国产精品| 久久夜夜操妹子| 日韩精品三级| 欧美肉体xxxx裸体137大胆| 日韩av一二三| 亚洲午夜精品久久久久久app| 日韩av一区二区三区四区| 99久久99视频只有精品| 欧美日韩午夜电影网| 国产一区日韩欧美| 开心激情综合| 亚洲影视一区二区三区| 日韩欧美1区| 久久精品999| 黄色亚洲在线| 国产精品久久免费视频| 久久国产精品毛片| 日本精品不卡| 麻豆视频一区| 亚洲日产国产精品| 亚洲一级高清| 精品日韩一区| 欧美亚洲tv| 久久福利精品| 99热国内精品| 国内精品美女在线观看| 日韩国产在线一| 美女国产一区| 国产精品成人3p一区二区三区| 久久久久久免费视频| 亚洲综合不卡| 日本免费一区二区三区四区| 91在线成人| 麻豆亚洲精品| 亚洲午夜黄色| 免费高潮视频95在线观看网站| 国产亚洲人成a在线v网站| 亚洲欧美日韩一区在线观看| 日韩成人高清| 水蜜桃精品av一区二区| 国产精品毛片aⅴ一区二区三区| 中文字幕一区二区三区日韩精品| 999久久久亚洲| 色婷婷色综合| 激情久久一区二区| 欧美欧美黄在线二区| 亚洲bt欧美bt精品777| 亚洲欧美日韩精品一区二区| 免费不卡中文字幕在线| 久久先锋影音| 国产黄色一区| 国产色噜噜噜91在线精品 | 日本电影久久久| 日韩一区精品| 久久不射中文字幕| 日韩天堂av| 午夜国产一区二区| 久久亚洲国产| 欧美不卡高清一区二区三区| 国产精品日本一区二区不卡视频 | 亚洲欧美日韩专区| 亚洲一区成人| 另类国产ts人妖高潮视频| 午夜精品婷婷| 99xxxx成人网| 久久亚洲视频| 婷婷综合福利| 欧美伊人久久| 国产精品调教视频| 久久成人高清| 国模精品一区| 日韩在线综合| 亚洲成av人片一区二区密柚| 中文字幕在线高清| 欧美精品高清| 亚洲欧美日韩高清在线| 亚洲少妇在线| 婷婷精品在线| 国产探花在线精品| 精品久久精品| 日韩电影免费在线观看| 久久久久久黄| 香蕉视频成人在线观看| 日韩亚洲精品在线观看| 国产日韩高清一区二区三区在线 | 欧美日韩国产一区精品一区| 影音先锋久久| 丝袜诱惑制服诱惑色一区在线观看 | 亚洲精品精选| 日韩高清在线不卡| 国产精品一区二区三区www| 免费看久久久| 久久精品动漫| 视频在线观看国产精品| 日本免费新一区视频| 久久国产精品美女| 日韩在线精品| 亚洲欧洲日本mm| 视频一区在线视频| 国产精品一区二区99| 日韩大片在线观看| 久久国产高清| 日韩精品视频一区二区三区| 国产欧美另类| 日韩一区电影| 日本大胆欧美人术艺术动态| 国产欧美69| 精品日韩视频| 亚洲区欧美区| а√天堂8资源中文在线| 91成人网在线观看| 国产乱码精品一区二区亚洲| 久久久精品网| 日韩二区三区在线观看| 麻豆视频在线看| 视频一区中文字幕| 韩国女主播一区二区三区| 日韩免费小视频| 日韩一区二区三区四区五区| 狠狠久久伊人| 丝袜亚洲另类欧美| 精品国产aⅴ| 男人操女人的视频在线观看欧美 | 久久精品国产精品亚洲毛片| 日韩视频一区| 老司机精品视频在线播放| 欧美二区视频| 久久国产精品美女| 99视频一区| 粉嫩av一区二区三区四区五区 | 蜜臀精品久久久久久蜜臀| 麻豆精品视频在线观看视频| 九一国产精品| 你懂的亚洲视频| 日韩精品一二三四| 国产精品久久久久蜜臀| 亚洲一区二区三区中文字幕在线观看 | 欧美午夜网站| 日韩午夜免费| 国产精品久久久久久久免费观看 | 欧美一区在线观看视频| 久久蜜桃资源一区二区老牛| 国产人成精品一区二区三| 亚洲二区视频| 国产精品一区高清| 免费观看在线综合色| 美女网站视频一区| 久久爱www.|