中文字幕欧美日韩一区二区三区_高清久久一区_阳光姐妹淘韩国版_日韩精品免费视频一区二区三区_91在线成人_一级黄色免费_精品欧美黑人一区二区三区

北大青鳥學(xué)校:java使用sax對xml文檔的解析


北京北大青鳥學(xué)校學(xué)術(shù)部老師表示:隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,XML技術(shù)變得越來越重要,從而出現(xiàn)了很多與XML的整合應(yīng)用方面的技術(shù),SAX就是其中之一。今天,北京北大青鳥學(xué)校的老師就和大家談?wù)刯ava怎樣使用sax對xml文檔的解析。

首先,北京北大青鳥學(xué)校老師先講解SAX對XML文檔的解析機(jī)制。一般情況下,SAX 處理器分析XML代碼將生成以下事件:

Start document
Start element ()
Characters (white space)
Start element ()
Characters ()
End element ()
............
End element ()
具體解析步驟如下
一、 創(chuàng)建事件處理程序,SAX 提供應(yīng)用程序可擴(kuò)展的類 DefaultHandler。
創(chuàng)建的解析類config必須繼承類 DefaultHandler。
如:public class Config extends DefaultHandler{}

二、使用 JAXP 來創(chuàng)建解析器:使用 JAXP 中的類 XMLReaderFactory 來創(chuàng)建解析器。首先聲明 XMLReader的一個對象 parser。然后使用
XMLReaderFactory的createXMLReader方法來創(chuàng)建 SAXParser。
XMLReader parser =
XMLReaderFactory.createXMLReader(
"org.apache.xerces.parsers.SAXParser");

三、一旦創(chuàng)建了解析器,則需要將 config 設(shè)置為內(nèi)容處理程序,以便于其接收事件。
parser.setContentHandler(this);
但是,當(dāng)然總會有可能在試圖進(jìn)行解析時,數(shù)據(jù)有問題。這時應(yīng)該創(chuàng)建ErrorHandler 在這樣的情況下,有一個處理程序來處理錯誤和內(nèi)容。
parser.setErrorHandler(this);

四、準(zhǔn)備對文件進(jìn)行實(shí)際解析。應(yīng)用程序文件傳遞給 parse(),然后應(yīng)用程序會繼續(xù)運(yùn)行。
parser.parse(confFile);(北京北大青鳥學(xué)校)

五、接下來就開始對文檔進(jìn)行解析了。前面說過SAX的處理機(jī)制,SAX在處理XML流的過程中,首先產(chǎn)生startDocument()事件,實(shí)際上該事件什么也沒有發(fā)生,因?yàn)檫沒有定義任何解析的事件。使用 startDocument() 事件只是為了通知文檔的開始。類似其它 SAX 事件,該事件拋出 SAXException。
例如:
public void startDocument()
throws SAXException {
System.out.println(
"Tallying survey results...");
}

六、跟下來,就正式開始對文件進(jìn)行解析了。這時SAX會產(chǎn)生一個startElement()事件,對于每個元素,都會回送一個傳遞給 startElement() 事件的名稱。不過解析器實(shí)際所傳遞是:該元素的名稱空間信息;該元素的實(shí)際名稱或 localName;名稱空間別名和 localName 的組合(否則是限定名或 qname);以及該元素任何屬性。startElement() 事件還提供對元素屬性的訪問。將這些屬性傳遞進(jìn)稱為 Attributes的數(shù)據(jù)結(jié)構(gòu)。根據(jù)屬性在數(shù)組中位置或?qū)傩缘拿Q,可以檢索該屬性值。
例如:
public void startElement(
String namespaceURI,
String localName,
String qName,
Attributes atts)
throws SAXException {
String s = (!"".equals(localName)) ? localName : qName;
System.out.print("Start element: ");
System.out.println(localName);
tag = s;
if (localName == "Connector") {
System.out.println("name: "
+ atts.getValue("name"));
} else if (localName == "port") {
thisQuestion = atts.getValue("servername");
}else if (localName == "maxThreadPoolSize") {
thisQuestion = atts.getValue("poolname");
}
if (localName == "Database") {
System.out.println("name: "
+ atts.getValue("name"));
} else if (localName == "driverName") {
thisQuestion = atts.getValue("dataname");
}else if (localName == "encoding") {
thisQuestion = atts.getValue("codename");
}
thisElement = localName;(北京北大青鳥學(xué)校)

for (int att = 0;att < atts.getLength(); att++) {
String attName = atts.getLocalName(att);
System.out.println(" "
+ attName + ": "
+ atts.getValue(attName));
}

}
七、有了元素,接下來用 characters() 來檢索實(shí)際的數(shù)據(jù)。這時可以使用下面的方法獲得實(shí)際的數(shù)據(jù):可以用String s = new String(ch, start, length).trim();這個方法來獲得數(shù)據(jù)。
例如:
public void characters(char[] ch,
int start,
int length)
throws SAXException {
String s = new String(ch, start, length).trim();
if (!"".equals(s)) {
if ("port".equals(tag)) {
System.out.println(Integer.parseInt(s));
} else if ("maxThreadPoolSize".equals(tag)) {
System.out.println(Integer.parseInt(s));
}
//System.out.println(tag+" = "+s);
}
s = new String(ch, start, length).trim();
if (!"".equals(s)) {
if ("driverName".equals(tag)) {
System.out.println(s);
} else if ("encoding".equals(tag)) {
System.out.println(s);
}
//System.out.println(tag+" = "+s);
}
}

八、接下來的要做的就是用endElement()來結(jié)束對一個xml的 element的解析。
例如:下面的方法
public void endElement(String namespaceURI,
String localName,
String qName)
throws SAXException {
printIndent(indent);
System.out.println("End Element: "+localName);
indent = indent - 4;
thisQuestion = "";
thisElement = "";

九、最后就是告訴程序,xml文件解析完畢,此時,用endDocument()來結(jié)束程序。
例如:
public void endDocument() {}

北京北大青鳥學(xué)校老師總結(jié);sax處理xml的方法還基本上是差不多的,只是一二步的方法相對多一點(diǎn),那些其他的方法,如果您有疑問,歡迎來北京北大青鳥學(xué)校學(xué)習(xí)相關(guān)的課程。

北大青鳥網(wǎng)上報(bào)名
北大青鳥招生簡章
中文字幕欧美日韩一区二区三区_高清久久一区_阳光姐妹淘韩国版_日韩精品免费视频一区二区三区_91在线成人_一级黄色免费_精品欧美黑人一区二区三区
久久久影院官网| 2021国产精品久久精品| 日本在线播放一区二区三区| 亚洲午夜久久久久久久久久久| 最新中文字幕一区二区三区| 国产精品系列在线| 亚洲精品视频观看| 午夜电影网亚洲视频| 日韩国产欧美在线视频| 国产伦精品一区二区三区免费迷| www.综合网.com| 3d动漫精品啪啪一区二区竹菊| 日韩亚洲欧美一区二区三区| 国产精品毛片a∨一区二区三区| 亚洲日本一区二区三区| 日本午夜一本久久久综合| 九九视频精品免费| 91老师国产黑色丝袜在线| 欧美丰满嫩嫩电影| 国产精品久久久久久久久快鸭| 一片黄亚洲嫩模| 国产精品中文字幕一区二区三区| 日本福利一区二区| 久久久精品一品道一区| 亚洲国产美国国产综合一区二区| 国内精品自线一区二区三区视频| 色婷婷综合激情| 久久久久久电影| 五月婷婷欧美视频| eeuss鲁片一区二区三区| 555夜色666亚洲国产免| 国产农村妇女精品| 日欧美一区二区| 一本一道久久a久久精品| 久久综合视频网| 日韩成人av影视| 色婷婷综合五月| 国产精品久久久久久久久晋中| 美女国产一区二区| 欧美日韩激情一区二区三区| 国产精品另类一区| 激情图区综合网| 日韩天堂在线观看| 日韩专区欧美专区| 欧美视频精品在线观看| 中文字幕在线免费不卡| 国产精品自拍在线| 欧美成人高清电影在线| 日日夜夜一区二区| 欧美精品成人一区二区三区四区| 中文字幕中文字幕一区二区| 国产激情一区二区三区桃花岛亚洲| 欧美一级日韩一级| 五月天婷婷综合| 欧美天堂一区二区三区| 亚洲理论在线观看| 99久久综合99久久综合网站| 欧美激情综合五月色丁香| 国产一区二区成人久久免费影院| 欧美白人最猛性xxxxx69交| 人人精品人人爱| 日韩一区二区三区视频在线| 免费欧美日韩国产三级电影| 日韩一区二区三区电影| 九九精品一区二区| 久久久国产一区二区三区四区小说| 国产最新精品精品你懂的| 精品久久久久av影院| 精品在线视频一区| 久久人人爽爽爽人久久久| 国产麻豆成人精品| 中文一区一区三区高中清不卡| 国产高清在线观看免费不卡| 国产偷国产偷精品高清尤物| 成人v精品蜜桃久久一区| 中文字幕在线一区| 日本二三区不卡| 日韩av中文字幕一区二区| 日韩一级完整毛片| 国产美女一区二区| 亚洲欧美一区二区视频| 欧美在线不卡一区| 日本麻豆一区二区三区视频| 久久色中文字幕| jlzzjlzz亚洲女人18| 亚洲一区二区四区蜜桃| 欧美一区欧美二区| 国产成人亚洲综合a∨婷婷| 亚洲欧美aⅴ...| 91精品国产免费| 成人动漫一区二区| 午夜激情综合网| 久久伊99综合婷婷久久伊| 91视频免费看| 日韩精品亚洲专区| 国产精品视频yy9299一区| 欧美日韩国产免费一区二区| 国内精品久久久久影院薰衣草 | 麻豆免费看一区二区三区| 国产欧美日韩不卡免费| 欧美日韩视频在线观看一区二区三区| 石原莉奈在线亚洲二区| 中文字幕高清一区| 91精品午夜视频| aaa亚洲精品| 久久精品国产亚洲a| 亚洲欧美偷拍卡通变态| www国产成人| 欧美高清视频www夜色资源网| 国产69精品久久777的优势| 亚洲1区2区3区4区| |精品福利一区二区三区| 精品国产一区二区精华| 在线观看日韩毛片| 成人小视频免费在线观看| 美国精品在线观看| 亚洲精品乱码久久久久久日本蜜臀| 欧美成人精精品一区二区频| 欧美色涩在线第一页| av电影在线观看不卡| 免费欧美在线视频| 五月婷婷激情综合网| 综合婷婷亚洲小说| 中文字幕免费在线观看视频一区| 欧美一区二区三区在线看| 99精品视频在线播放观看| 久久成人免费网| 日韩主播视频在线| 亚洲成人中文在线| 一区二区三区四区不卡视频| 中文字幕在线一区| 欧美韩日一区二区三区四区| 精品1区2区在线观看| 欧美一区二区福利视频| 欧美亚洲一区二区三区四区| 成人免费高清视频在线观看| 国产在线视频精品一区| 黑人巨大精品欧美一区| 久久精品国产77777蜜臀| 奇米影视在线99精品| 日韩和的一区二区| 日韩国产欧美在线观看| 奇米影视一区二区三区| 欧美a一区二区| 日韩va欧美va亚洲va久久| 日韩精彩视频在线观看| 七七婷婷婷婷精品国产| 久久国产精品72免费观看| 久久精品99国产国产精| 精品午夜一区二区三区在线观看| 久久国产精品99久久久久久老狼 | 狠狠色丁香久久婷婷综合丁香| 蜜臀91精品一区二区三区| 日韩福利视频网| 免费在线观看一区二区三区| 亚洲成在人线免费| 美女网站色91| 久久91精品久久久久久秒播| 国产精品88av| 菠萝蜜视频在线观看一区| 91美女片黄在线观看91美女| 欧美性受xxxx黑人xyx| 在线不卡a资源高清| 91精品国产91久久久久久最新毛片 | 欧美性一区二区| 欧美一区二区三区在线观看视频| 日韩女优毛片在线| 国产女人水真多18毛片18精品视频| 国产精品国产三级国产有无不卡| 亚洲精品免费一二三区| 欧美aaaaa成人免费观看视频| 国产精品一区一区| 99国产一区二区三精品乱码| 在线视频亚洲一区| 欧美一区二区三区电影| 亚洲国产高清不卡| 亚洲成av人影院| 国产一区二区三区四区在线观看| 成人av午夜电影| 欧美日本乱大交xxxxx| 久久综合久久综合久久| 1024亚洲合集| 麻豆精品在线播放| 成人av电影免费观看| 欧美日韩国产一级片| 久久先锋影音av| 亚洲一区影音先锋| 国产乱妇无码大片在线观看| 欧日韩精品视频| 国产欧美一区二区三区在线老狼| 亚洲午夜免费电影| 国产精品一区二区三区99| 日本韩国欧美在线| 欧美成人女星排行榜| 亚洲另类在线一区| 国产精品自在欧美一区| 欧美老女人在线| 中文字幕佐山爱一区二区免费| 亚洲国产精品久久一线不卡| 国产剧情在线观看一区二区|