欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

StAX解析XML

系統 1874 0
Java代碼 復制代碼
  1. package ?com.xml.parseXml; ??
  2. ??
  3. import ?java.io.InputStream; ??
  4. ??
  5. import ?javax.xml.stream.XMLEventReader; ??
  6. import ?javax.xml.stream.XMLInputFactory; ??
  7. import ?javax.xml.stream.events.StartElement; ??
  8. import ?javax.xml.stream.events.XMLEvent; ??
  9. ??
  10. import ?com.xml.bean.Address; ??
  11. import ?com.xml.bean.ReadXmlFileStream; ??
  12. ??
  13. public ? class ?StAXParseXml?{ ??
  14. ???? private ? static ?Address?address?=? new ?Address(); ??
  15. ??
  16. ???? public ? static ? void ?main(String[]?args)?{ ??
  17. ??
  18. ???????? long ?lasting?=?System.currentTimeMillis(); ??
  19. ??
  20. ???????? try ?{ ??
  21. ????????????InputStream?in?=?ReadXmlFileStream.getXmlFileStream(); ??
  22. ??
  23. ????????????XMLInputFactory?xmlif?=?XMLInputFactory.newInstance(); ??
  24. ???????????? //?用于解析?XML?事件的頂層接口 ??
  25. ????????????XMLEventReader?reader?=?xmlif.createXMLEventReader(in); ??
  26. ???????????? //?處理標記事件的基礎事件接口 ??
  27. ????????????XMLEvent?event?=? null ; ??
  28. ??
  29. ???????????? while ?(reader.hasNext())?{ ??
  30. ????????????????event?=?reader.nextEvent(); ??
  31. ???????????????? if ?(event.isStartElement())?{? //?起始元素 ??
  32. ????????????????????StartElement?startElt?=?event.asStartElement(); ??
  33. ???????????????????? if ?(startElt.getName().getLocalPart().equals( "no" ))?{ ??
  34. ????????????????????????address.setNo(reader.getElementText()); ??
  35. ????????????????????}? else ? if ?(startElt.getName().getLocalPart().equals( "addr" ))?{ ??
  36. ????????????????????????address.setAddr(reader.getElementText()); ??
  37. ????????????????????????System.out.println(address); ??
  38. ????????????????????} ??
  39. ????????????????}? else ? if ?(event.isCharacters())?{? //?文本內容 ??
  40. ???????????????????? //?相鄰標記之間都是文本內容 ??
  41. ????????????????????System.out.println( "解析的是文本內容:" ??
  42. ????????????????????????????+?event.asCharacters().getData()); ??
  43. ????????????????}? else ? if ?(event.isEndElement())?{? //?結束元素 ??
  44. ????????????????????System.out.println( "解析的是結束標記:" ??
  45. ????????????????????????????+?event.asEndElement().getName()); ??
  46. ????????????????} ??
  47. ????????????} ??
  48. ????????}? catch ?(Exception?e)?{ ??
  49. ????????????e.printStackTrace(); ??
  50. ????????} ??
  51. ????????System.out.println( "運行時間:" ?+?(System.currentTimeMillis()?-?lasting) ??
  52. ????????????????+? "?毫秒" ); ??
  53. ??
  54. ????} ??
  55. ??
  56. }??
Java代碼 復制代碼
  1. package ?com.xml.parseXml; ??
  2. ??
  3. import ?java.io.InputStream; ??
  4. ??
  5. import ?javax.xml.stream.XMLEventReader; ??
  6. import ?javax.xml.stream.XMLInputFactory; ??
  7. import ?javax.xml.stream.events.StartElement; ??
  8. import ?javax.xml.stream.events.XMLEvent; ??
  9. ??
  10. import ?com.xml.bean.Address; ??
  11. import ?com.xml.bean.ReadXmlFileStream; ??
  12. ??
  13. public ? class ?StAXParseXml?{ ??
  14. ???? private ? static ?Address?address?=? new ?Address(); ??
  15. ??
  16. ???? public ? static ? void ?main(String[]?args)?{ ??
  17. ??
  18. ???????? long ?lasting?=?System.currentTimeMillis(); ??
  19. ??
  20. ???????? try ?{ ??
  21. ????????????InputStream?in?=?ReadXmlFileStream.getXmlFileStream(); ??
  22. ??
  23. ????????????XMLInputFactory?xmlif?=?XMLInputFactory.newInstance(); ??
  24. ???????????? //?用于解析?XML?事件的頂層接口 ??
  25. ????????????XMLEventReader?reader?=?xmlif.createXMLEventReader(in); ??
  26. ???????????? //?處理標記事件的基礎事件接口 ??
  27. ????????????XMLEvent?event?=? null ; ??
  28. ??
  29. ???????????? while ?(reader.hasNext())?{ ??
  30. ????????????????event?=?reader.nextEvent(); ??
  31. ???????????????? if ?(event.isStartElement())?{? //?起始元素 ??
  32. ????????????????????StartElement?startElt?=?event.asStartElement(); ??
  33. ???????????????????? if ?(startElt.getName().getLocalPart().equals( "no" ))?{ ??
  34. ????????????????????????address.setNo(reader.getElementText()); ??
  35. ????????????????????}? else ? if ?(startElt.getName().getLocalPart().equals( "addr" ))?{ ??
  36. ????????????????????????address.setAddr(reader.getElementText()); ??
  37. ????????????????????????System.out.println(address); ??
  38. ????????????????????} ??
  39. ????????????????}? else ? if ?(event.isCharacters())?{? //?文本內容 ??
  40. ???????????????????? //?相鄰標記之間都是文本內容 ??
  41. ????????????????????System.out.println( "解析的是文本內容:" ??
  42. ????????????????????????????+?event.asCharacters().getData()); ??
  43. ????????????????}? else ? if ?(event.isEndElement())?{? //?結束元素 ??
  44. ????????????????????System.out.println( "解析的是結束標記:" ??
  45. ????????????????????????????+?event.asEndElement().getName()); ??
  46. ????????????????} ??
  47. ????????????} ??
  48. ????????}? catch ?(Exception?e)?{ ??
  49. ????????????e.printStackTrace(); ??
  50. ????????} ??
  51. ????????System.out.println( "運行時間:" ?+?(System.currentTimeMillis()?-?lasting) ??
  52. ????????????????+? "?毫秒" ); ??
  53. ??
  54. ????} ??
  55. ??
  56. }??
    package com.xml.parseXml;

import java.io.InputStream;

import javax.xml.stream.XMLEventReader;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.events.StartElement;
import javax.xml.stream.events.XMLEvent;

import com.xml.bean.Address;
import com.xml.bean.ReadXmlFileStream;

public class StAXParseXml {
	private static Address address = new Address();

	public static void main(String[] args) {

		long lasting = System.currentTimeMillis();

		try {
			InputStream in = ReadXmlFileStream.getXmlFileStream();

			XMLInputFactory xmlif = XMLInputFactory.newInstance();
			// 用于解析 XML 事件的頂層接口
			XMLEventReader reader = xmlif.createXMLEventReader(in);
			// 處理標記事件的基礎事件接口
			XMLEvent event = null;

			while (reader.hasNext()) {
				event = reader.nextEvent();
				if (event.isStartElement()) { // 起始元素
					StartElement startElt = event.asStartElement();
					if (startElt.getName().getLocalPart().equals("no")) {
						address.setNo(reader.getElementText());
					} else if (startElt.getName().getLocalPart().equals("addr")) {
						address.setAddr(reader.getElementText());
						System.out.println(address);
					}
				} else if (event.isCharacters()) { // 文本內容
					// 相鄰標記之間都是文本內容
					System.out.println("解析的是文本內容:"
							+ event.asCharacters().getData());
				} else if (event.isEndElement()) { // 結束元素
					System.out.println("解析的是結束標記:"
							+ event.asEndElement().getName());
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		System.out.println("運行時間:" + (System.currentTimeMillis() - lasting)
				+ " 毫秒");

	}

}

  

?

依賴的類:

1.Address .java

Java代碼 復制代碼
  1. package ?com.xml.bean; ??
  2. ??
  3. public ? class ?Address?{ ??
  4. ??
  5. ???? private ?String?no; ??
  6. ???? private ?String?addr; ??
  7. ???? /** ?
  8. ?????*?@return?the?no ?
  9. ?????*/ ??
  10. ???? public ?String?getNo()?{ ??
  11. ???????? return ?no; ??
  12. ????} ??
  13. ???? /** ?
  14. ?????*?@param?no?the?no?to?set ?
  15. ?????*/ ??
  16. ???? public ? void ?setNo(String?no)?{ ??
  17. ???????? this .no?=?no; ??
  18. ????} ??
  19. ???? /** ?
  20. ?????*?@return?the?addr ?
  21. ?????*/ ??
  22. ???? public ?String?getAddr()?{ ??
  23. ???????? return ?addr; ??
  24. ????} ??
  25. ???? /** ?
  26. ?????*?@param?addr?the?addr?to?set ?
  27. ?????*/ ??
  28. ???? public ? void ?setAddr(String?addr)?{ ??
  29. ???????? this .addr?=?addr; ??
  30. ????} ??
  31. ???? @Override ??
  32. ???? public ?String?toString()?{ ??
  33. ???????? return ? "編號:" ?+? this .no?+? ",地址:" ?+? this .addr; ??
  34. ????} ??
  35. ???? ??
  36. ???? ??
  37. }??
Java代碼 復制代碼
  1. package ?com.xml.bean; ??
  2. ??
  3. public ? class ?Address?{ ??
  4. ??
  5. ???? private ?String?no; ??
  6. ???? private ?String?addr; ??
  7. ???? /** ?
  8. ?????*?@return?the?no ?
  9. ?????*/ ??
  10. ???? public ?String?getNo()?{ ??
  11. ???????? return ?no; ??
  12. ????} ??
  13. ???? /** ?
  14. ?????*?@param?no?the?no?to?set ?
  15. ?????*/ ??
  16. ???? public ? void ?setNo(String?no)?{ ??
  17. ???????? this .no?=?no; ??
  18. ????} ??
  19. ???? /** ?
  20. ?????*?@return?the?addr ?
  21. ?????*/ ??
  22. ???? public ?String?getAddr()?{ ??
  23. ???????? return ?addr; ??
  24. ????} ??
  25. ???? /** ?
  26. ?????*?@param?addr?the?addr?to?set ?
  27. ?????*/ ??
  28. ???? public ? void ?setAddr(String?addr)?{ ??
  29. ???????? this .addr?=?addr; ??
  30. ????} ??
  31. ???? @Override ??
  32. ???? public ?String?toString()?{ ??
  33. ???????? return ? "編號:" ?+? this .no?+? ",地址:" ?+? this .addr; ??
  34. ????} ??
  35. ???? ??
  36. ???? ??
  37. }??
    package com.xml.bean;

public class Address {

	private String no;
	private String addr;
	/**
	 * @return the no
	 */
	public String getNo() {
		return no;
	}
	/**
	 * @param no the no to set
	 */
	public void setNo(String no) {
		this.no = no;
	}
	/**
	 * @return the addr
	 */
	public String getAddr() {
		return addr;
	}
	/**
	 * @param addr the addr to set
	 */
	public void setAddr(String addr) {
		this.addr = addr;
	}
	@Override
	public String toString() {
		return "編號:" + this.no + ",地址:" + this.addr;
	}
	
	
}

  

?2.ReadXmlFileStream .java

Java代碼 復制代碼
  1. /** ?
  2. ?*? ?
  3. ?*/ ??
  4. package ?com.xml.bean; ??
  5. ??
  6. import ?java.io.InputStream; ??
  7. ??
  8. public ? class ?ReadXmlFileStream?{ ??
  9. ??
  10. ???? private ? static ? final ?String?XML_FILE?=? "com/xml/bean/addresses.xml" ; ??
  11. ??
  12. ???? public ? static ?InputStream?getXmlFileStream()?{ ??
  13. ???????? return ?Thread.currentThread().getContextClassLoader() ??
  14. ????????????????.getResourceAsStream(XML_FILE); ??
  15. ????} ??
  16. ??
  17. }??
Java代碼 復制代碼
  1. /** ?
  2. ?*? ?
  3. ?*/ ??
  4. package ?com.xml.bean; ??
  5. ??
  6. import ?java.io.InputStream; ??
  7. ??
  8. public ? class ?ReadXmlFileStream?{ ??
  9. ??
  10. ???? private ? static ? final ?String?XML_FILE?=? "com/xml/bean/addresses.xml" ; ??
  11. ??
  12. ???? public ? static ?InputStream?getXmlFileStream()?{ ??
  13. ???????? return ?Thread.currentThread().getContextClassLoader() ??
  14. ????????????????.getResourceAsStream(XML_FILE); ??
  15. ????} ??
  16. ??
  17. }??
    /**
 * 
 */
package com.xml.bean;

import java.io.InputStream;

public class ReadXmlFileStream {

	private static final String XML_FILE = "com/xml/bean/addresses.xml";

	public static InputStream getXmlFileStream() {
		return Thread.currentThread().getContextClassLoader()
				.getResourceAsStream(XML_FILE);
	}

}

  

?

被解析的XML結構:

addresses.xml

Xml代碼 復制代碼
  1. <? xml ? version = "1.0" ? encoding = "UTF-8" ?> ??
  2. < addresses > ??
  3. ???? < value > ??
  4. ???????? < no > A100 </ no > ??
  5. ???????? < addr > 廣州天河區天河路 </ addr > ??
  6. ???? </ value > ??
  7. ???? < value > ??
  8. ???????? < no > A101 </ no > ??
  9. ???????? < addr > 廣州天河區五山路 </ addr > ??
  10. ???? </ value > ??
  11. </ addresses > ??
Xml代碼 復制代碼
  1. <? xml ? version = "1.0" ? encoding = "UTF-8" ?> ??
  2. < addresses > ??
  3. ???? < value > ??
  4. ???????? < no > A100 </ no > ??
  5. ???????? < addr > 廣州天河區天河路 </ addr > ??
  6. ???? </ value > ??
  7. ???? < value > ??
  8. ???????? < no > A101 </ no > ??
  9. ???????? < addr > 廣州天河區五山路 </ addr > ??
  10. ???? </ value > ??
  11. </ addresses > ?

StAX解析XML


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产精品第一区第27页 | 欧美综合自拍亚洲综合图片区 | 奇米成人网| 九九久久精品 | 亚洲视频在线一区 | 成人黄色免费 | 国产porn在线 | 一级做受毛片免费大片 | av中文在线观看 | 久久精品一本到99热免费 | 一区二区三区四区视频 | 精品国产一区二区三区久久久蜜臀 | 日韩精品真人荷官无码 | 在线播放一区二区三区 | 色婷婷亚洲五月色综合色 | 国产色婷婷 | 黄视频网站在线 | 国产亚洲综合在线 | 成人激情视频网站 | 日韩在线免费 | 欧美午夜艳片欧美精品 | 国产浮力第一页 | 精品一区二区在线观看视频 | 国产无遮挡裸体免费视频 | 一本一道久久a久久精品蜜桃 | 亚洲欧美v视色一区二区 | 五月丁香综合啪啪成人小说 | a级粗大硬长爽猛视频免费 潘金莲强完整版 | 国产精品久久久久久久久软件 | 555夜色666夜色精品站 | 亚洲二区视频 | 亚欧洲精品视频在线观看 | 奇米影视4色 | k8久久久一区二区三区 | 亚洲国产欧洲精品路线久久 | 成人福利在线免费观看 | 成a人v在线观看视频 | 好男人www. | 日韩一级大毛片欧美一级 | 九九综合九九综合 | 日日欧美|