一、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)
相关推荐
dom4j因其广泛的API和XPath支持而受到青睐,而jdom则以其Java原生性及性能优势吸引开发者。在你的项目中,你可能需要根据你的XML处理需求、性能要求以及团队的熟悉程度来决定使用哪个库。 在实际应用中,引入`dom4j...
JDOM提供了一种Java原生的方式来处理XML,它的API设计得更加直观。以下是一个JDOM的示例: ```java import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.input.SAXBuilder; public class ...
这些API提供了一种基于W3C DOM(文档对象模型)的标准方式来解析XML文档。 1. **创建XML解析器**: - 使用`DocumentBuilderFactory`创建一个解析器工厂实例。 - 调用`newDocumentBuilder()`方法生成`...
总结来说,Android中使用DOM解析XML是一种常见且直观的方式,适合处理小规模的数据。结合ButterKnife库,可以方便地将解析结果与UI组件进行绑定,提高代码的可读性和维护性。但请注意,对于大文件,考虑使用SAX或者...
这款名为"安卓Java原生开源小说APP源码"的项目是一个专为Android平台设计的开源应用,它允许用户自定义小说阅读来源,并提供了超过300个预设的书籍资源。这个应用程序是用Java编程语言编写的,符合Android平台的原生...
在提供的代码示例中,可能包括了使用上述一种或多种方法来读取XML文件,例如,可能会使用DOM的`DocumentBuilder`解析XML文件,然后使用`Node`接口的方法添加新的元素。具体的实现细节取决于代码内容,可能涉及到创建...
此外,对于复杂XML处理,可以引入Java的DOM解析库如dom4j的iOS版本,它提供了一种更为灵活的方式来操作XML文档。 在实际开发中,选择合适的XML解析方式应根据项目需求来定。如果XML文件较小,且需要频繁地随机访问...
在Java开发中,解析XML文档是常见的需求之一,常用的解析方法包括DOM(Document Object Model)、SAX(Simple API for XML)和DOM4J等。 - **DOM**:将整个XML文档加载到内存中并构建DOM树模型,适用于需要频繁修改...
而如果更看重API的简洁性和Java原生性,JDOM则可能更合适。 总的来说,解析XML在Java编程中是一个常见的任务,JDOM和DOM4J都是优秀的工具,它们通过提供高级抽象和便捷的API,简化了XML文档的处理工作。开发者可以...
本篇博客主要探讨如何利用这两者实现二级联动选择,即当用户在一级选择中作出选择时,二级选择会自动更新,以及如何解析XML和JSON数据格式。下面我们将详细探讨这些知识点。 首先,原生AJAX是通过JavaScript直接与...
Pull解析器是另一种基于事件的解析方式,它提供了一个简单的API,允许开发者通过迭代方式逐步解析XML。Android提供了`org.xmlpull.v1.XmlPullParser`接口进行Pull解析,代码更简洁,适合内存有限的移动设备。 4. ...
而"JAVA原生开发萝卜影视APP源码"很显然是项目的主体部分,包含所有必要的Java源代码、XML布局文件、资源文件等,这些内容构成了APP的核心功能。 在Java原生开发中,萝卜影视APP可能采用了MVP(Model-View-...
"xml自动生成java代码(改)"这个主题指的是通过解析XML文件来生成对应的Java类,以便于简化开发过程,提高效率。通常,这涉及到XML解析技术,如DOM解析,以及Java文件的读写操作。 DOM解析是处理XML文档的一种方法...
Java编程语言虽然不是原生支持创建和解析Windows快捷方式,但通过第三方库如`mslinks`,我们可以实现这一功能。本篇文章将深入探讨如何使用Java来建立及解析Windows快捷方式。 首先,`mslinks`是一个开源库,它提供...
在“sax解析xml案例一 - Ruthless - 博客园.htm”文件中,可能介绍了如何使用SAX解析XML的基本步骤,包括创建解析器工厂、设置事件处理器、启动解析过程等。这些案例通常会包含代码示例,演示如何处理开始元素、结束...
1. 解析XML:使用XML解析器(如Java的DOM解析器,Python的ElementTree等)将XML字符串转换为DOM树或类似的结构。 2. 转换结构:遍历DOM树,将元素和属性映射到JSON键值对。 3. 序列化JSON:将转换后的结构转换为JSON...
本文将探讨在Java中解析JSON的两种主要方法:使用JSON库和利用Java内置的JSON处理API。 首先,我们来看使用JSON库的方式。在提供的压缩包文件中,包含了一些常见的Java JSON处理库,如json-lib-2.3-jdk15.jar。这个...
2. **XML解析方式**: - **DOM解析**:Document Object Model(DOM)将整个XML文档加载到内存中,形成一棵树形结构,允许开发者通过节点操作来访问和修改XML数据。这种方法适用于小规模文件,因为内存占用较大。 -...
相比Dom4j,JDOM可能更适合那些希望用Java原生方式操作XML的开发者,而Dom4j则在灵活性和性能上具有优势。 总的来说,Dom4j是一个强大的XML处理库,它的API设计得易于理解和使用,对于Java开发者来说,是处理XML...
- **SAX解析**:SAX解析器通过事件驱动的方式解析XML,你需要实现ContentHandler接口。以下是一个简单的例子: ```java DefaultHandler handler = new DefaultHandler() { @Override public void startElement...