欧美三区_成人在线免费观看视频_欧美极品少妇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條評論
主站蜘蛛池模板: 日本在线视频一区二区 | 奇米影视在线视频 | 香港三级日本三级人妇网站 | 欧美精品黄页免费高清在线 | 成人综合视频网 | 精品国产视频 | 亚洲国产午夜精品乱码 | 欧美一区欧美二区 | 久草国产在线观看 | 91亚洲精品丁香在线观看 | 亚洲 欧洲 偷拍 校园 另类 | 成在线视频 | 九九99九九在线精品视频 | 老汉色影院 | 婷婷综合缴情亚洲五月伊 | 亚洲日本va在线视频观看 | 婷婷开心六月久久综合丁香 | 99久久精品国产一区二区成人 | 噜噜色网| 欧美一级α片毛片免费观看 | 日本高清在线精品一区二区三区 | 816969c| 总攻调教各种受肉 | 一区二区视频在线 | 午夜不卡一区二区 | 日韩一区二区三区视频 | 91青青青青青爽在线 | 亚洲十欧美十日韩十国产 | 91麻豆精品久久久久蜜臀 | 日韩一级片在线免费观看 | 青娱乐免费视频在线观看 | 亚洲欧美日韩在线观看播放 | 福利精品 | 国产成人免费视频网站高清观看视频 | 国产精品69人妻无码久久久 | 蜜桃传媒一区二区亚洲AV | 日韩高清免费在线观看 | 草久在线观看视频 | 香港一级毛片免费看 | 精品日本一区二区 | 99热在这里只有精品 |