对于XML处理方面,W3C有两种解决方法:
(1)DOM(Document Object Model):
(2)SAX(Simple API for XML)
DOM介绍:
先将xml文档解析成dom树,并放入内存,能够随机访问任意节点。
缺点:因为需要放入内存操作,所以对文件大小有限制。
DOM位于org.w3c.dom包中。
DOM有3个核心的接口:
(1)Document:是整个文档的根结点。只有取得了Document结点,才能够对文档操作。
常用方法:
(1)Element elem = document.createElement("elem"); //创建一个结点
(2)Attribute attr = document.createAttribute("attr"); //创建一个属性
(3)Text t = document.createTextNode("text"); //创建一个文本节点
(4)NodeList list = document.getElementByTagName("..."); //寻找某个结点
(2)Node:DOM树是由结点组成,因此结点是很重要的。
常用方法:
(1)appendChild(Node child); //添加子节点
(2)getFirstChild(); //获得第一个子节点
(3)getNodeValue(); //得到节点的值
(4)hasChildNodes(); //是否还有子节点
(3)NodeList:是由Node组成的一个List。
常用方法:
(1)item(int x); //获得第几个节点
(2)getLength(); //获得list的长度
如果要获得Document对象,需要:
------------------------------------------------------------
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse("....");获得doc
|
------------------------------------------------------------
生成xml文件方法:需要TransformerFactory,Transformer,StreamResult,DOMSource。
方法:
Document doc = builder.newDocument();
生成DOM树
StreamResult result = new StreamResult(new File("..."));
DOMSource source = new DOMSource(doc);
TransformerFactory factory = TransformerFactory.newInstance();
Transformer t = factory.newTransformer();
t.transform(source,result);即可
|
SAX介绍:
只能读取,不能生成或改变,并且只能遍历。
缺点:只能读取。
XML解析工具:
(1)DOM4J
DOM4J是一个XML操作的包,为了提供给用户更简便的操作XML。
以下是生成一个XML文件的代码:
Document doc = DocumentHelper.createDocument();
Element name = doc.addElement("name");
Element first = name.addElement("firstname");
Element second = name.addElement("secondname");
first.setText("xia");
second.setText("second");
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("gb2312");
XMLWriter writer = new XMLWriter(new FileOutputStream("out.xml"),format);
writer.write(doc);
writer.close();
|
以下是读取一个XML文件的代码:
SAXReader reader = new SAXReader();
Document doc = reader.read(new File("out.xml"));
Element root = doc.getRootElement();
Iterator iter = root.elementIterator();
Element elem = (Element)iter.next();
String str = elem.elementText("first");
|
(2)JDOM:也是一个非常好的解析工具,但是性能上比DOM4J差了不少,所以不用。
Javascript中运用DOM:把html想象成一个DOM树。
这里通过id进行查找。
var elem = document.getElementById("id");
elem.innerHTML
生成一个<input type = "button" value = "button"/>过程:
var form = document.getElementById("form");//获得表单节点
Element button = document.createElement("input");//创建一个节点
button.setAttribute("type","button");//设置属性
button.setAttribute("value","button");//设置属性
form.appendChild(button);//添加form的子节点
|
分享到:
相关推荐
《Java与XML》(第三版)的内容涵盖了所有主要的Java XML处理库程序,全面讲解了SAX、DOM、StAX、JDOM以及dom4j的应用程序编程接口,同时还囊括了最新版本的用于XML处理的Java应用程序编程接口(JAXP)和用于XML绑定...
使用java jdk的JAXB技术实现xml与java对象互相转化代码教程: JDK中JAXB相关的重要Class和Interface:(来源于百度百科JAXB) •JAXBContext类,是应用的入口,用于管理XML/Java绑定信息。 •Marshaller接口,将Java...
《Java与XML》(第三版)的内容涵盖了所有主要的Java XML处理库程序,全面讲解了SAX、DOM、StAX、JDOM以及dom4j的应用程序编程接口,同时还囊括了最新版本的用于XML处理的Java应用程序编程接口(JAXP)和用于XML绑定...
企业级应用 java 解析多级xml 多么复杂的都可以, 一个类,一个jar 包,非常实用,希望大家顶起..
主要介绍java xml jsp 基础知识,及他们之间应用学习之道。适合有一定基础的朋友学习交流
JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项...从另一方面来讲,JAXB提供了快速而简便的方法将XML模式绑定到Java表示,从而使得Java开发者在Java应用程序中能方便地结合XML数据和处理函数。
xml解析在java中的应用小程序,在这里可以知道xml解析的原理,以及在java中的应用
本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。. 本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...
Java程序设计EJB、XML与数据库 关于Java程序设计 EJB XML 数据库 的学习,资料很全面的
xml的读取与写入,xml的Java基本应用编程方法
XMLBEANS简化Java对XML编程的应用研究,刘永环,,XMLBeans是把java类和xml 文档实例进行绑定的一种技术。XMLBean提供了很多种方法操纵XML,其中主要包括JavaBeans 、XML Cursor、XQuery。本文首先��
支持把需要的pdf图片文件解析成xml串输出。请严格根据里面提供的maven依赖以及com.itextpdf该目录层级名称进行测试
Java与XML数据库整合应用10 是学习XML的好帮手
本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。. 本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...
主要针对Ajax和Flash应用程序 无论您现在正在还是将来会进行Java程序的开发并且需要用到XML,或者您正在参与新的点对点技术、消息技术以及Web service技术的相关应用或者开发,《Java与XML》(第三版)都是一本不可...
此外,还介绍了很多有用的技术,比如SOAP技术和JSP技术等等,在编写基于XML和Java应用的过程中会经常使用到这些技术。本书的作者都是在Java和XML方面有多年实践经验的专家,他们会带领读者熟悉Java、XML以及Web服务...
早起论文,有关XML Java 异构数据库集成的应用研究,写的挺不错。
java&xml应用
本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。. 本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...
一、用JAVA完成了PDF读写(IText的应用) 加密PDF文件,引用到的JAR包是 bcprov-jdk15on-147 生成PDF文件,引用到的JAR包是itext5.5.1 项目文件为PDFText.java 主要实现功能: 1、创建一个PDF文件:HelloWorld.pdf,...