2022年使用JDOM解析XML的方法借鉴 .pdf

上传人:C****o 文档编号:32987520 上传时间:2022-08-09 格式:PDF 页数:3 大小:50.52KB
返回 下载 相关 举报
2022年使用JDOM解析XML的方法借鉴 .pdf_第1页
第1页 / 共3页
2022年使用JDOM解析XML的方法借鉴 .pdf_第2页
第2页 / 共3页
点击查看更多>>
资源描述

《2022年使用JDOM解析XML的方法借鉴 .pdf》由会员分享,可在线阅读,更多相关《2022年使用JDOM解析XML的方法借鉴 .pdf(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、jdom 解析 使用 JDOM 解析 XML (转载,简单又详细)1、使用 JDOM 的前提条件须要有 SAX 、DOM 解析器的类文件, JDOM 只是一种适合Java程序员来使用的Java XML 解析器, 目前流行的 Java XML 解析器还有: Apache Xerces Java、JAXP。Xerces Java解析器是完全用Java编写的 XML 解析器,最新版本是2.5,它支持以下标准和API :(1) XML1.0 规范(第二版本)(2) XML 命名空间规范(3) DOM2 核心标准规范(4) SAX2 核心扩展(5) JAXP1.2 :是 Sun 提供的使用Java处理

2、XML 的接口 API 。(6) XML Schema 结构和数据类型标准还 有最 好 的 是 它 开 放 源 代 码 , 我 们 可 以在http:/xml.apache.org/dist/xerces-j/ 处 去 下载 。 下 载 文件Xerces-J-bin.2.5.0.zip。解压下载文件,得到四个压缩包加到项目的路径中(其实不要全加,但不熟的情况下考虑这么做)。JDOM 的二进制版本下载:http:/www.jdom.org/downloads/index.html 把解压后的 jdom.jar 文件加到项目的类路径中,另外便于调试,还要下载它的源代码。三、使用 JDOM 解析 X

3、ML 好了,现在该是正题了。下面通过一个简单的例子说明一下怎么用JDOM 这一适合 Java程序员习惯的工具包来解析 XML 文档。为了简单,我用了如下XML 作为要解析的XML 文件: rjzjh 60.0 够简单的吧,但它对于我们关心的东西都有了,子节点,属性。下面是用于解析这个XML 文件的 Java文件:1 public class JDomParse 2 public JDomParse() 3 String xmlpath=library.xml; 4 SAXBuilder builder=new SAXBuilder(false); 5 try 6 Document doc=bu

4、ilder.build(xmlpath); 7 Element books=doc.getRootElement(); 8 List booklist=books.getChildren(book); 9 for (Iterator iter = booklist.iterator(); iter.hasNext();) 10 Element book = (Element) iter.next(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 3 页 - - - -

5、 - - - - - 11 String email=book.getAttributeValue(email); 12 System.out.println(email); 13 String name=book.getChildTextTrim(name); 14 System.out.println(name); 15 book.getChild(name).setText(alterrjzjh); 16 17 18 19 XMLOutputter outputter=new XMLOutputter(); 20 outputter.output(doc,new FileOutputSt

6、ream(xmlpath); 21 22 catch (JDOMException e) 23 e.printStackTrace(); 24 catch (IOException e) 25 e.printStackTrace(); 26 27 28 public static void main(String args) 29 new JDomParse(); 30 31 不到 30 行代码,现在我对代码解释一下:四、解释代码引用的类:import java.io.FileOutputStream; import java.io.IOException; import java.util.

7、Iterator; import java.util.List; /下面是引用到JDOM 中的类import org.jdom.Document; import org.jdom.Element; import org.jdom.JDOMException; import org.jdom.input.SAXBuilder; import org.jdom.output.XMLOutputter; (1)使用 JDOM 首先要指定使用什么解析器。如:SAXBuilder builder=new SAXBuilder(false); 这表示使用的是默认的解析器(2)得到 Document,我们以

8、后要进行的所有操作都是对这个Document 操作的:Document doc=builder.build(xmlpath); (3)得到根元素:Element books=doc.getRootElement(); 在 JDOM中所有的节点(DOM中的概念)都是一个org.jdom.Element 类,当然他的子节点也是一个org.jdom.Element 类。(4)得到元素(节点)的集合:List booklist=books.getChildren(book); 这表示得到 “books”元素的所在名称为“book”的元素,并把这些元素都放到一个List 集合中名师资料总结 - - -精

9、品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 3 页 - - - - - - - - - (5)轮循 List 集合for (Iterator iter = booklist.iterator(); iter.hasNext();) Element book = (Element) iter.next(); 还有一种轮循方法是:for(int i=0;Ibooklist.size();I+) Element book=(Element)booklist.get(i); (6)取得元素的属性:St

10、ring email=book.getAttributeValue(email); 取得元素 book 的属性名为 “email ”的属性值。(7)取得元素的子元素(为最低层元素)的值:String name=book.getChildTextTrim(name); 注意的是,必须确定book 元素的名为 “name”的子元素只有一个。(8)改变元素(为最低层元素)的值:book.getChild(name).setText(alterrjzjh); 这只是对 Document 的修改,并没有在实际的XML 文档中进行修改(9)保存 Document 的修改到XML 文件中:XMLOutput

11、ter outputter=new XMLOutputter(); outputter.output(doc,new FileOutputStream(xmlpath); 我们先要有一个XMLOutputter类,再把已经修改了的Document 保存进 XML 文档中。到此。用 JDOM 解析和处理XML 文档讲解完了,麻雀虽小,五脏俱全。现在已对JDOM 有个整体上的概念了吧三.DOM 结果处理 (输出 /保存 ) Format fo=Format.getCompactFormat();/ 取得输出格式Format /fo.setEncoding(GB2312); XMLOutputter outputter=new XMLOutputter(fo); FileWriter write=new FileWriter(XmlFname);/这里可以是 PrintWriter 形式的 (任何 Writer 流). outputter.output(doc,write/*Writer流,见构造函数 */); write.close();名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 3 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁