`
gaojingsong
  • 浏览: 1182709 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【JAVA原生方式解析XML】

阅读更多

 一、DOM 解析器

1)首先得到 DOM 解析器的工厂实例      

DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();

2)从 DOM 工厂获得 DOM 解析器

DocumentBuilder dombuilder=domfac.newDocumentBuilder();

3)把要解析的 XML 文档转化为输入流,以便 DOM 解析器解析它

InputStream is= new  FileInputStream("test1.xml");        

4)解析 XML 文档的输入流,得到一个 Document

Document doc=dombuilder.parse(is);

5)得到 XML 文档的根节点

Element root=doc.getDocumentElement();

6)得到节点的子节点

  NodeList books=root.getChildNodes();

  

  

二、Transformer转换器 

使用Transformer将更新后的XML文档进行输出

 transformDomToXml(Document document,String FileName){

    try{

TransformerFactory tFactory = TransformerFactory.newInstance();

Transformer transformer = tFactory.newTransformer();

DOMSource source = new DOMSource(document);

StreamResult result = new StreamResult(new File(FileName));

transformer.transform(source,result);

     }catch (TransformerConfigurationException tce) {

        System.out.println("   " + tce.getMessage() );  

     }catch (TransformerException te) {

          System.out.println("   " + te.getMessage() );

     } 

  

DOM是javascript操作网页的接口,全称为文档对象模型(Document Object Model)。它的作用是将网页转为一个javascript对象,从而可以使用javascript对网页进行各种操作(比如增删内容)。浏览器会根据DOM模型,将HTML文档解析成一系列的节点,再由这些节点组成一个树状结构。DOM的最小组成单位叫做节点(node),文档的树形结构(DOM树)由12种类型的节点组成。本文将主要说明DOM节点类型

 

总括一般地,节点至少拥有nodeType、nodeName和nodeValue这三个基本属性。节点类型不同,这三个属性的值也不相同

 

nodeType属性返回节点类型的常数值。不同的类型对应不同的常数值,12种类型分别对应1到12的常数值

元素节点              Node.ELEMENT_NODE(1)

属性节点              Node.ATTRIBUTE_NODE(2)

文本节点              Node.TEXT_NODE(3)

CDATA节点             Node.CDATA_SECTION_NODE(4)

实体引用名称节点       Node.ENTRY_REFERENCE_NODE(5)

实体名称节点          Node.ENTITY_NODE(6)

处理指令节点          Node.PROCESSING_INSTRUCTION_NODE(7)

注释节点              Node.COMMENT_NODE(8)

文档节点              Node.DOCUMENT_NODE(9)

文档类型节点          Node.DOCUMENT_TYPE_NODE(10)

文档片段节点          Node.DOCUMENT_FRAGMENT_NODE(11)

DTD声明节点            Node.NOTATION_NODE(12)

0
0
分享到:
评论

相关推荐

    Java解析xml所需jar包

    dom4j因其广泛的API和XPath支持而受到青睐,而jdom则以其Java原生性及性能优势吸引开发者。在你的项目中,你可能需要根据你的XML处理需求、性能要求以及团队的熟悉程度来决定使用哪个库。 在实际应用中,引入`dom4j...

    JAVA解析XML

    JDOM提供了一种Java原生的方式来处理XML,它的API设计得更加直观。以下是一个JDOM的示例: ```java import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.input.SAXBuilder; public class ...

    JDK自带方法解析xml特定格式的字符串

    这些API提供了一种基于W3C DOM(文档对象模型)的标准方式来解析XML文档。 1. **创建XML解析器**: - 使用`DocumentBuilderFactory`创建一个解析器工厂实例。 - 调用`newDocumentBuilder()`方法生成`...

    Android Dom解析XML

    总结来说,Android中使用DOM解析XML是一种常见且直观的方式,适合处理小规模的数据。结合ButterKnife库,可以方便地将解析结果与UI组件进行绑定,提高代码的可读性和维护性。但请注意,对于大文件,考虑使用SAX或者...

    安卓Java原生开源小说APP源码.zip

    这款名为"安卓Java原生开源小说APP源码"的项目是一个专为Android平台设计的开源应用,它允许用户自定义小说阅读来源,并提供了超过300个预设的书籍资源。这个应用程序是用Java编程语言编写的,符合Android平台的原生...

    java操作xml文件的一个简单代码

    在提供的代码示例中,可能包括了使用上述一种或多种方法来读取XML文件,例如,可能会使用DOM的`DocumentBuilder`解析XML文件,然后使用`Node`接口的方法添加新的元素。具体的实现细节取决于代码内容,可能涉及到创建...

    iphone开发之xml解析

    此外,对于复杂XML处理,可以引入Java的DOM解析库如dom4j的iOS版本,它提供了一种更为灵活的方式来操作XML文档。 在实际开发中,选择合适的XML解析方式应根据项目需求来定。如果XML文件较小,且需要频繁地随机访问...

    XML技术培训及Java解析文档

    在Java开发中,解析XML文档是常见的需求之一,常用的解析方法包括DOM(Document Object Model)、SAX(Simple API for XML)和DOM4J等。 - **DOM**:将整个XML文档加载到内存中并构建DOM树模型,适用于需要频繁修改...

    解析XML所用的JAR包

    而如果更看重API的简洁性和Java原生性,JDOM则可能更合适。 总的来说,解析XML在Java编程中是一个常见的任务,JDOM和DOM4J都是优秀的工具,它们通过提供高级抽象和便捷的API,简化了XML文档的处理工作。开发者可以...

    原生AJAX或jQuery实现二级联动选择以及解析XML和JSON数据格式

    本篇博客主要探讨如何利用这两者实现二级联动选择,即当用户在一级选择中作出选择时,二级选择会自动更新,以及如何解析XML和JSON数据格式。下面我们将详细探讨这些知识点。 首先,原生AJAX是通过JavaScript直接与...

    XML解析代码

    Pull解析器是另一种基于事件的解析方式,它提供了一个简单的API,允许开发者通过迭代方式逐步解析XML。Android提供了`org.xmlpull.v1.XmlPullParser`接口进行Pull解析,代码更简洁,适合内存有限的移动设备。 4. ...

    JAVA原生开发萝卜影视APP源码.rar

    而"JAVA原生开发萝卜影视APP源码"很显然是项目的主体部分,包含所有必要的Java源代码、XML布局文件、资源文件等,这些内容构成了APP的核心功能。 在Java原生开发中,萝卜影视APP可能采用了MVP(Model-View-...

    xml自动生成java代码(改)

    "xml自动生成java代码(改)"这个主题指的是通过解析XML文件来生成对应的Java类,以便于简化开发过程,提高效率。通常,这涉及到XML解析技术,如DOM解析,以及Java文件的读写操作。 DOM解析是处理XML文档的一种方法...

    xml解析文件

    在“sax解析xml案例一 - Ruthless - 博客园.htm”文件中,可能介绍了如何使用SAX解析XML的基本步骤,包括创建解析器工厂、设置事件处理器、启动解析过程等。这些案例通常会包含代码示例,演示如何处理开始元素、结束...

    Java建立及解析Windows快捷方式

    Java编程语言虽然不是原生支持创建和解析Windows快捷方式,但通过第三方库如`mslinks`,我们可以实现这一功能。本篇文章将深入探讨如何使用Java来建立及解析Windows快捷方式。 首先,`mslinks`是一个开源库,它提供...

    xmljson解析客户端

    1. 解析XML:使用XML解析器(如Java的DOM解析器,Python的ElementTree等)将XML字符串转换为DOM树或类似的结构。 2. 转换结构:遍历DOM树,将元素和属性映射到JSON键值对。 3. 序列化JSON:将转换后的结构转换为JSON...

    java解析Json的两种方式

    本文将探讨在Java中解析JSON的两种主要方法:使用JSON库和利用Java内置的JSON处理API。 首先,我们来看使用JSON库的方式。在提供的压缩包文件中,包含了一些常见的Java JSON处理库,如json-lib-2.3-jdk15.jar。这个...

    XML读取以及解析

    2. **XML解析方式**: - **DOM解析**:Document Object Model(DOM)将整个XML文档加载到内存中,形成一棵树形结构,允许开发者通过节点操作来访问和修改XML数据。这种方法适用于小规模文件,因为内存占用较大。 -...

    Dom4j解析xml的包和API以及例子

    相比Dom4j,JDOM可能更适合那些希望用Java原生方式操作XML的开发者,而Dom4j则在灵活性和性能上具有优势。 总的来说,Dom4j是一个强大的XML处理库,它的API设计得易于理解和使用,对于Java开发者来说,是处理XML...

    android访问网络返回的XML数据并且进行解析

    - **SAX解析**:SAX解析器通过事件驱动的方式解析XML,你需要实现ContentHandler接口。以下是一个简单的例子: ```java DefaultHandler handler = new DefaultHandler() { @Override public void startElement...

Global site tag (gtag.js) - Google Analytics