电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

Java實(shí)現(xiàn)解析并生成xml原理實(shí)例詳解

瀏覽:4日期:2022-08-31 11:35:46

XML解析:

* 解析xml可以做: * 如果xml作為配置文件:讀取 * 如果xml作為傳輸文件:寫(xiě),讀

xml解析思想:

* DOM:將文檔加載進(jìn)內(nèi)存,形成一顆dom樹(shù)(document對(duì)象),將文檔的各個(gè)組成部分封裝為一些對(duì)象。 * 優(yōu)點(diǎn):因?yàn)椋趦?nèi)存中會(huì)形成dom樹(shù),可以對(duì)dom樹(shù)進(jìn)行增刪改查。 * 缺點(diǎn):dom樹(shù)非常占內(nèi)存,解析速度慢。

DocumentElementTextAttributeComment

* SAX:逐行讀取,基于事件驅(qū)動(dòng)* 優(yōu)點(diǎn):不占內(nèi)存,速度快* 缺點(diǎn):只能讀取,不能回寫(xiě)

xml常用的解析器:

* JAXP:sun公司提供的解析。支持dom和sax。(不常用) * JDOM: * DOM4J:dom for java民間方式,但是是事實(shí)方式。非常好。 支持dom

1.導(dǎo)入jar包 dom4j.jar

2.創(chuàng)建解析器

SAXReader reader = new SAXReader();

3.解析xml 獲得document對(duì)象

Document document = reader.read(url);

* XPATH:專(zhuān)門(mén)用于查詢(xún) * 定義了一種規(guī)則。 * 使用的方法: * selectSingleNode(): * selectNodes():

使用步驟:

1、注意:要導(dǎo)包 jaxen...jar

2、創(chuàng)建解析器

SAXReader reader = new SAXReader();

3、解析xml 獲得document對(duì)象

Document document = reader.read(url);

* 解析XML:

// 1、得到某個(gè)具體的節(jié)點(diǎn)內(nèi)容:第2本書(shū)的書(shū)名--》葵花寶典

// 2、遍歷所有元素節(jié)點(diǎn)

XPath:

// nodename 選取此節(jié)點(diǎn)。 // / 從根節(jié)點(diǎn)選取。 // // 從匹配選擇的當(dāng)前節(jié)點(diǎn)選擇文檔中的節(jié)點(diǎn),而不考慮它們的位置。 // .. 選取當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)。 // @ 選取屬性。 // [@屬性名] 屬性過(guò)濾 // [標(biāo)簽名] 子元素過(guò)濾

例子:

/* demo.xml<?xml version='1.0' encoding='UTF-8'?><books> <book name='Harry Potter'> <author>J.K. Rowling</author> <price>29.90$</price> </book> <book name='冰與火之歌'> <author>馬丁</author> <price>28.90$</price> </book></books>*/@Testpublic void test1() throws DocumentException{ SAXReader reader = new SAXReader(); Document doc = reader.read('./src/demo.xml'); Element root = doc.getRootElement(); Element book1 = root.element('book'); System.out.println(book1.getPath()); System.out.println(book1.elementText('price')); List<?> list = root.elements('book'); Element book2 = (Element) list.get(1); System.out.println(book2.attributeValue('name')); for(Iterator<?> it = book1.elementIterator();it.hasNext() ; ){ Element ele = (Element) it.next(); System.out.println(ele.getName()+' : '+ele.getText()); }}@Test public void test2() throws Exception{//使用 XPath,只用于快速查詢(xún),需要用jaxen...jar包 SAXReader reader = new SAXReader(); Document doc = reader.read(new File('src/demo.xml')); Node node = doc.selectSingleNode('/books/book[2]/author');//需要jaxen.jar包 String s = node.getText(); System.out.println(s); node = doc.selectSingleNode('/books/book[2]/@name'); s = node.getText(); System.out.println(s); List<Node> booknames = doc.selectNodes('/books//@name'); for (Node node1 : booknames) { System.out.println(node1.getText()); } List<?> nodes = doc.selectNodes('/books/*/*'); for (int i=0; i<nodes.size(); ++i){ Node node1 = (Node) nodes.get(i); System.out.println(node1.getName() + ': ' + node1.getText()); }}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 贴板式电磁阀-不锈钢-气动上展式放料阀-上海弗雷西阀门有限公司 工业机械三维动画制作 环保设备原理三维演示动画 自动化装配产线三维动画制作公司-南京燃动数字 | 北京晚会活动策划|北京节目录制后期剪辑|北京演播厅出租租赁-北京龙视星光文化传媒有限公司 | 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | 软瓷_柔性面砖_软瓷砖_柔性石材_MCM软瓷厂家_湖北博悦佳软瓷 | 权威废金属|废塑料|废纸|废铜|废钢价格|再生资源回收行情报价中心-中废网 | 开业庆典_舞龙舞狮_乔迁奠基仪式_开工仪式-神挚龙狮鼓乐文化传媒 | 起好名字_取个好名字_好名网免费取好名在线打分 | 北京开源多邦科技发展有限公司官网 | 厂房出租_厂房出售_产业园区招商_工业地产&nbsp;-&nbsp;中工招商网 | 粘弹体防腐胶带,聚丙烯防腐胶带-全民塑胶 | 转子泵_凸轮泵_凸轮转子泵厂家-青岛罗德通用机械设备有限公司 | 快干水泥|桥梁伸缩缝止水胶|伸缩缝装置生产厂家-广东广航交通科技有限公司 | 杭州中策电线|中策电缆|中策电线|杭州中策电缆|杭州中策电缆永通集团有限公司 | 巩义市科瑞仪器有限公司| 旋振筛_不锈钢旋振筛_气旋筛_旋振筛厂家—新乡市大汉振动机械有限公司 | POS机办理_个人pos机免费领取-银联pos机申请首页 | 单机除尘器 骨架-脉冲除尘器设备生产厂家-润天环保设备 | 老城街小面官网_正宗重庆小面加盟技术培训_特色面馆加盟|牛肉拉面|招商加盟代理费用多少钱 | 泰国专线_泰国物流专线_广州到泰国物流公司-泰廊曼国际 | 首页 - 张店继勇软件开发工作室 兰州UPS电源,兰州山特UPS-兰州万胜商贸 | 泰安塞纳春天装饰公司【网站】 | 自动记录数据电子台秤,记忆储存重量电子桌称,设定时间记录电子秤-昆山巨天 | 购买舔盐、舔砖、矿物质盐压块机,鱼饵、鱼饲料压块机--请到杜甫机械 | 电梯乘运质量测试仪_电梯安全评估测试仪-武汉懿之刻 | 铁盒_铁罐_马口铁盒_马口铁罐_铁盒生产厂家-广州博新制罐 | 上海乾拓贸易有限公司-日本SMC电磁阀_德国FESTO电磁阀_德国FESTO气缸 | 5L旋转蒸发器-20L-50L旋转蒸发器-上海越众仪器设备有限公司 | 色谱柱-淋洗液罐-巴罗克试剂槽-巴氏吸管-5ml样品瓶-SBS液氮冻存管-上海希言科学仪器有限公司 | 快干水泥|桥梁伸缩缝止水胶|伸缩缝装置生产厂家-广东广航交通科技有限公司 | 广州各区危化证办理_危险化学品经营许可证代办 | 济南律师,济南法律咨询,山东法律顾问-山东沃德律师事务所 | 山东臭氧发生器,臭氧发生器厂家-山东瑞华环保设备 | 伸缩器_伸缩接头_传力接头-巩义市润达管道设备制造有限公司 | 自动化生产线-自动化装配线-直流电机自动化生产线-东莞市慧百自动化有限公司 | 车件|铜件|车削件|车床加工|五金冲压件-PIN针,精密车件定制专业厂商【东莞品晔】 | 深圳快餐店设计-餐饮设计公司-餐饮空间品牌全案设计-深圳市勤蜂装饰工程 | 铝合金风口-玻璃钢轴流风机-玻璃钢屋顶风机-德州东润空调设备有限公司 | 沈阳网站建设_沈阳网站制作_沈阳网页设计-做网站就找示剑新零售 沈阳缠绕膜价格_沈阳拉伸膜厂家_沈阳缠绕膜厂家直销 | 韦伯电梯有限公司| 净化车间装修_合肥厂房无尘室设计_合肥工厂洁净工程装修公司-安徽盛世和居装饰 | 马尔表面粗糙度仪-MAHR-T500Hommel-Mitutoyo粗糙度仪-笃挚仪器 |