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

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

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

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

XML解析:

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

xml解析思想:

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

DocumentElementTextAttributeComment

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

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:專門用于查詢 * 定義了一種規(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本書的書名--》葵花寶典

// 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)。 // @ 選取屬性。 // [@屬性名] 屬性過濾 // [標(biāo)簽名] 子元素過濾

例子:

/* 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,只用于快速查詢,需要用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()); }}

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

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 小型高低温循环试验箱-可程式高低温湿热交变试验箱-东莞市拓德环境测试设备有限公司 | 滚塑PE壳体-PE塑料浮球-警示PE浮筒-宁波君益塑业有限公司 | 山东led显示屏,山东led全彩显示屏,山东LED小间距屏,临沂全彩电子屏-山东亚泰视讯传媒有限公司 | 芜湖厨房设备_芜湖商用厨具_芜湖厨具设备-芜湖鑫环厨具有限公司 控显科技 - 工控一体机、工业显示器、工业平板电脑源头厂家 | 湖南教师资格网-湖南教师资格证考试网 | 福兰德PVC地板|PVC塑胶地板|PVC运动地板|PVC商用地板-中国弹性地板系统专业解决方案领先供应商! 福建成考网-福建成人高考网 | 石牌坊价格石牌坊雕刻制作_石雕牌坊牌楼石栏杆厂家_山东嘉祥石雕有限公司 | 药品仓库用除湿机-变电站用防爆空调-油漆房用防爆空调-杭州特奥环保科技有限公司 | 探鸣起名网-品牌起名-英文商标起名-公司命名-企业取名包满意 | 移动机器人产业联盟官网| 酒万铺-酒水招商-酒水代理 | 集装箱箱号识别_自重载重图像识别_铁路车号自动识别_OCR图像识别 | 气体检测仪-氢气检测仪-可燃气体传感器-恶臭电子鼻-深国安电子 | 钢制暖气片散热器_天津钢制暖气片_卡麦罗散热器厂家 | 河南生物显微镜,全自动冰冻切片机-河南荣程联合科技有限公司 | 美甲贴片-指甲贴片-穿戴美甲-假指甲厂家--薇丝黛拉 | 登车桥动力单元-非标液压泵站-非标液压系统-深圳市三好科技有限公司 | 工业硝酸钠,硝酸钠厂家-淄博「文海工贸」 | 卷筒电缆-拖链电缆-特种柔性扁平电缆定制厂家「上海缆胜」 | 筛分机|振动筛分机|气流筛分机|筛分机厂家-新乡市大汉振动机械有限公司 | 在线钠离子分析仪-硅酸根离子浓度测定仪-油液水分测定仪价格-北京时代新维测控设备有限公司 | 高考志愿规划师_高考规划师_高考培训师_高报师_升学规划师_高考志愿规划师培训认证机构「向阳生涯」 | 危废处理系统,水泥厂DCS集散控制系统,石灰窑设备自动化控制系统-淄博正展工控设备 | 上海单片机培训|重庆曙海培训分支机构—CortexM3+uC/OS培训班,北京linux培训,Windows驱动开发培训|上海IC版图设计,西安linux培训,北京汽车电子EMC培训,ARM培训,MTK培训,Android培训 | 手持气象站_便携式气象站_农业气象站_负氧离子监测站-山东万象环境 | 天一线缆邯郸有限公司_煤矿用电缆厂家_矿用光缆厂家_矿用控制电缆_矿用通信电缆-天一线缆邯郸有限公司 | 欧版反击式破碎机-欧版反击破-矿山石料破碎生产线-青州奥凯诺机械 | 振动时效_振动时效仪_超声波冲击设备-济南驰奥机电设备有限公司 北京宣传片拍摄_产品宣传片拍摄_宣传片制作公司-现像传媒 | 安驭邦官网-双向万能直角铣头,加工中心侧铣头,角度头[厂家直销] 闸阀_截止阀_止回阀「生产厂家」-上海卡比阀门有限公司 | 武汉印刷厂-不干胶标签印刷厂-武汉不干胶印刷-武汉标签印刷厂-武汉标签制作 - 善进特种标签印刷厂 | 代做标书-代写标书-专业标书文件编辑-「深圳卓越创兴公司」 | 冷水机-冰水机-冷冻机-冷风机-本森智能装备(深圳)有限公司 | 立式壁挂广告机厂家-红外电容触摸一体机价格-华邦瀛 | 快速门厂家-快速卷帘门-工业快速门-硬质快速门-西朗门业 | 立式矫直机_卧式矫直机-无锡金矫机械制造有限公司 | 湖南长沙商标注册专利申请,长沙公司注册代理记账首选美创! | 珠海冷却塔降噪维修_冷却塔改造报价_凉水塔风机维修厂家- 广东康明节能空调有限公司 | 西安文都考研官网_西安考研辅导班_考研培训机构_西安在职考研培训 | 柴油发电机组_柴油发电机_发电机组价格-江苏凯晨电力设备有限公司 | 电动葫芦|手拉葫芦|环链电动葫芦|微型电动葫芦-北京市凌鹰起重机械有限公司 | 杭州|上海贴标机-百科|