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

您的位置:首頁技術(shù)文章
文章詳情頁

這是用Java進(jìn)行XML解析的最佳庫

瀏覽:168日期:2024-05-07 11:12:18
(adsbygoogle = window.adsbygoogle || []).push({}); 如何解決這是用Java進(jìn)行XML解析的最佳庫?

實(shí)際上,Java支持4種開箱即用地解析XML的方法:

DOM解析器/構(gòu)建器:整個(gè)XML結(jié)構(gòu)都已加載到內(nèi)存中,你可以使用眾所周知的DOM方法進(jìn)行處理。DOM還允許你使用Xslt轉(zhuǎn)換來寫文檔。例:

public static void parse() throws ParserConfigurationException, IOException, SAXException { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setValidating(true); factory.setIgnoringElementContentWhitespace(true); DocumentBuilder builder = factory.newDocumentBuilder(); File file = new File('test.xml'); Document doc = builder.parse(file); // Do something with the document here.}

SAX Parser:僅讀取XML文檔。Sax解析器貫穿文檔并調(diào)用用戶的回調(diào)方法。存在用于文檔的開始/結(jié)束,元素等的方法。它們是在org.xml.sax.ContentHandler中定義的,并且有一個(gè)空的幫助程序類DefaultHandler。

public static void parse() throws ParserConfigurationException, SAXException { SAXParserFactory factory = SAXParserFactory.newInstance(); factory.setValidating(true); SAXParser saxParser = factory.newSAXParser(); File file = new File('test.xml'); saxParser.parse(file, new ElementHandler()); // specify handler}

StAx讀取器/寫入器:與面向數(shù)據(jù)流的接口一起使用。程序會(huì)在準(zhǔn)備好時(shí)要求下一個(gè)元素,就像游標(biāo)/迭代器一樣。你也可以使用它創(chuàng)建文檔。閱讀文件:

public static void parse() throws XMLStreamException, IOException { try (FileInputStream fis = new FileInputStream('test.xml')) {XMLInputFactory xmlInFact = XMLInputFactory.newInstance();XMLStreamReader reader = xmlInFact.createXMLStreamReader(fis);while(reader.hasNext()) { reader.next(); // do something here} }}

撰寫文件:

public static void parse() throws XMLStreamException, IOException { try (FileOutputStream fos = new FileOutputStream('test.xml')){XMLOutputFactory xmlOutFact = XMLOutputFactory.newInstance();XMLStreamWriter writer = xmlOutFact.createXMLStreamWriter(fos);writer.writeStartDocument();writer.writeStartElement('test');// write stuffwriter.writeEndElement(); }}

JAXB:讀取XML文檔的最新實(shí)現(xiàn):是v2中Java 6的一部分。這使我們可以序列化文檔中的Java對(duì)象。你使用一個(gè)實(shí)現(xiàn)了javax.xml.bind.Unmarshaller的接口的類來閱讀文檔(你可以從JAXBContext.newInstance中獲得一個(gè)用于該類的類)。必須使用使用的類來初始化上下文,但是你只需要指定根類,而不必?fù)?dān)心靜態(tài)引用的類。你可以使用注釋來指定哪些類應(yīng)該是元素(@XmlRootElement),哪些字段應(yīng)該是元素(@XmlElement)或?qū)傩裕ˊXmlAttribute,這真是個(gè)驚喜!)

public static void parse() throws JAXBException, IOException { try (FileInputStream adrFile = new FileInputStream('test')) {JAXBContext ctx = JAXBContext.newInstance(RootElementClass.class);Unmarshaller um = ctx.createUnmarshaller();RootElementClass rootElement = (RootElementClass) um.unmarshal(adrFile); }}

撰寫文件:

public static void parse(RootElementClass out) throws IOException, JAXBException { try (FileOutputStream adrFile = new FileOutputStream('test.xml')) {JAXBContext ctx = JAXBContext.newInstance(RootElementClass.class);Marshaller ma = ctx.createMarshaller();ma.marshal(out, adrFile); }}

從一些舊的演講幻燈片中無恥地復(fù)制了示例;-)

編輯:關(guān)于“我應(yīng)該使用哪個(gè)API?”。好吧,這取決于-并非所有API都具有與你看到的功能相同的功能,但是如果你可以控制用于映射XML文檔的類,那么JAXB是我個(gè)人最喜歡的,非常優(yōu)雅和簡(jiǎn)單的解決方案(盡管我沒有將其用于非常大的文檔,可能會(huì)有點(diǎn)復(fù)雜)。SAX也非常易于使用,如果你沒有充分的理由使用它,那就不要使用DOM-我認(rèn)為舊的,笨拙的API。我認(rèn)為沒有任何現(xiàn)代的第三方庫具有STL所缺少的任何特別有用的功能,并且標(biāo)準(zhǔn)庫具有通常的優(yōu)點(diǎn),即它們經(jīng)過了嚴(yán)格的測(cè)試,記錄和穩(wěn)定。

解決方法

我正在搜索Java庫以解析XML(復(fù)雜的配置和數(shù)據(jù)文件),我用Google搜索了一下,但除了dom4j之外都找不到(似乎他們正在V2上工作)。不喜歡它,其他有關(guān)XML的Apache項(xiàng)目似乎處于hibernate狀態(tài)。我還沒有獨(dú)自評(píng)估dom4j,只是想知道-Java是否有其他(良好)開源xml解析庫?您對(duì)dom4j的體驗(yàn)如何?

在@Voo回答之后,讓我再問一個(gè)-我應(yīng)該使用Java的內(nèi)置類還是諸如dom4j之類的任何第三方庫。優(yōu)點(diǎn)是什么?

標(biāo)簽: java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产高潮在线| 九九九精品视频| 91精品蜜臀一区二区三区在线| 国产日韩欧美高清免费| 日韩精品国产欧美| 亚洲精品看片| 亚洲精品高潮| 亚洲精品综合| 综合激情网...| 中文字幕av亚洲精品一部二部| 9色国产精品| 在线亚洲一区| 免费人成精品欧美精品| 亚洲影院天堂中文av色| 蜜桃视频在线观看一区二区| 美国三级日本三级久久99 | 欧美成人亚洲| 亚洲高清毛片| 欧美专区在线| 亚洲va久久| 欧美日韩一区二区三区不卡视频 | 欧美日韩伊人| 老鸭窝一区二区久久精品| 精品美女视频| 日韩深夜视频| 不卡中文字幕| 中文字幕中文字幕精品| 国产视频一区二| 精品一区二区三区免费看| 在线一区av| 黄色亚洲精品| 蜜臀久久99精品久久久画质超高清| 日本中文字幕一区二区视频| 国产精品中文字幕制服诱惑| 国产一区2区| 久久高清精品| 日韩制服丝袜先锋影音| 欧美日韩视频免费看| 精品福利久久久| 蜜臀av免费一区二区三区| 亚洲精品免费观看| 麻豆91在线播放| 国产综合视频| 日韩精品久久理论片| 国产一区二区色噜噜| 午夜日韩av| 日韩二区三区在线观看| av中文资源在线资源免费观看| 在线看片不卡| 国产亚洲人成a在线v网站| 日韩免费福利视频| 亚洲一区av| а√天堂中文在线资源8| 中国女人久久久| 麻豆传媒一区二区三区| 99国产一区| 精品一区二区三区免费看| 99国产精品私拍| 国产精品sm| 欧美日韩精品一本二本三本| 国产精品日韩精品在线播放| 天堂网av成人| 久久国产精品色av免费看| 欧美手机在线| 国产精品伊人| 午夜在线播放视频欧美| 国内精品伊人| 中文字幕一区二区av| 日韩欧美午夜| 欧美片网站免费| 99在线观看免费视频精品观看| 国产精品1区| 美国三级日本三级久久99| 欧美香蕉视频| 国产精品99久久久久久董美香| 99亚洲视频| 国产一区二区三区四区五区| 亚洲一区av| 婷婷成人综合| 九九九精品视频| 日韩有吗在线观看| 欧美日韩视频| 91精品亚洲| 91嫩草亚洲精品| 国产精品黄色| 日本vs亚洲vs韩国一区三区二区| 婷婷精品视频| 黄毛片在线观看| 久久99久久久精品欧美| 日韩一区二区三区在线看| 婷婷丁香综合| 国产激情在线播放| 国产精品一区2区3区| 亚洲精品裸体| 偷拍欧美精品| 日韩一区亚洲二区| 精品一区二区三区中文字幕| 日韩av中文字幕一区二区三区| 91久久视频| 激情欧美一区| 成人午夜精品| 成人在线视频中文字幕| 欧美黄页在线免费观看| 日韩高清在线一区| 日韩一区精品字幕| 国产手机视频一区二区| 亚洲a一区二区三区| 久久免费视频66| 久久激情综合网| 亚洲人成亚洲精品| 久久99伊人| 国产精品社区| 国产亚洲福利| 一区在线视频观看| 欧美日韩激情| 91九色精品| 国产精品日韩| 亚洲激情av| 99国产成+人+综合+亚洲欧美| 国产在线欧美| 亚洲一本视频| 久久精品国产亚洲夜色av网站| 欧美日韩国产v| 亚洲电影有码| 欧美福利在线| 黄色亚洲免费| 男女性色大片免费观看一区二区| 久久国产精品99国产| 蜜臀久久99精品久久久久宅男| 丝袜国产日韩另类美女| 丝袜国产日韩另类美女| 视频一区中文字幕国产| 午夜精品福利影院| 久久狠狠久久| 欧美极品中文字幕| 午夜久久中文| 999精品在线| 九九综合九九| 久久xxxx| 日韩av中文字幕一区| 国产精品成人3p一区二区三区| 久久成人av| 日韩av自拍| 激情综合自拍| 免费观看在线综合| 日韩av资源网| 美腿丝袜在线亚洲一区| 欧美国产偷国产精品三区| 另类中文字幕国产精品| 黄色成人在线网址| 日韩欧美高清一区二区三区| 欧美片网站免费| 国产精品久久久一区二区| 久久精品人人| 久久九九精品| 久久亚洲风情| 91亚洲精品在看在线观看高清| 久久爱www成人| 日韩中文在线电影| 午夜在线一区| 久久国产精品色av免费看| 国产精品精品国产一区二区| 国产韩日影视精品| 午夜天堂精品久久久久| 国语精品一区| 亚洲免费高清| 欧美亚洲二区| 97精品视频在线看| 蜜桃久久av| 麻豆国产精品| 99热精品在线观看| 国产精品免费精品自在线观看| 日本不卡免费高清视频在线| 视频一区在线播放| 久久亚洲资源中文字| 欧美特黄视频| 国产极品模特精品一二| 香蕉人人精品| 欧美一级网址| 激情欧美丁香| 日韩av网站在线观看| 四季av一区二区凹凸精品| 黄色不卡一区| 国产精品对白久久久久粗| 国产一区日韩一区| 欧美久久亚洲| 久久精品高清| 欧美日韩亚洲一区三区| 99久久夜色精品国产亚洲1000部| 日韩精品欧美成人高清一区二区| 欧洲一区二区三区精品| 911精品国产| 国产高清久久| 欧美国产另类| 99国产精品久久久久久久| 精品中文在线| 免费视频最近日韩| 成年男女免费视频网站不卡| 日韩极品在线观看| 五月婷婷六月综合|