- 浏览: 103123 次
- 性别:
- 来自: 杭州
文章分类
最新评论
package demo; import org.apache.xerces.parsers.DOMParser; import org.junit.Test; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class XmlDomDemo { @Test public void test() { String url = "conf/test/dispatcher-config.xml"; parseAndPrint(url); } public void parseAndPrint(String uri) { Document doc = null; try { DOMParser parser = new DOMParser(); parser.parse(uri); doc = parser.getDocument(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } if (doc != null) printDomTree(doc); } public void printDomTree(Node node) { int type = node.getNodeType(); switch (type) { case Node.DOCUMENT_NODE:// document类型 System.out.println("<?xml version=\"1.0\" ?>"); printDomTree(((Document)node).getDocumentElement()); break; case Node.ELEMENT_NODE:// 元素类型 System.out.print("<"); System.out.print(node.getNodeName()); NamedNodeMap attrs = node.getAttributes(); for (int i = 0; i < attrs.getLength(); i++) { Node attr = attrs.item(i); System.out.print(" " + attr.getNodeName() + "=\"" + attr.getNodeValue() + "\""); } System.out.print(">"); NodeList children = node.getChildNodes(); if (children != null) { int len = children.getLength(); for (int i = 0; i < len; i++) printDomTree(children.item(i)); } break; case Node.ENTITY_REFERENCE_NODE: System.out.print("&"); System.out.print(node.getNodeName()); System.out.print(";"); break; case Node.CDATA_SECTION_NODE: System.out.print("<![CDATA["); System.out.print(node.getNodeValue()); System.out.print("]]>"); break; case Node.TEXT_NODE: System.out.print(node.getNodeValue()); break; case Node.PROCESSING_INSTRUCTION_NODE: System.out.print("<?"); System.out.print(node.getNodeName()); String data = node.getNodeValue(); System.out.print(" "); System.out.print(data); System.out.print("?>"); break; } if (type == Node.ELEMENT_NODE) { System.out.print("</"); System.out.print(node.getNodeName()); System.out.print(">"); } } }
发表评论
-
项目中曾经犯过的错
2011-06-03 09:46 7001:改变的入参的值。错误的代码: public static ... -
容易搞混的问题
2011-05-07 14:53 7821:switch语法的运用 public static vo ... -
自写的连接池-生产者消费者
2010-10-25 11:38 793public class DBConnectionPool ... -
简陋线程池1
2010-10-12 14:46 798package pool; import java.ut ... -
内部类和外部类的关系思考
2010-08-19 10:34 849编译期报错的代码 : import ipad.IpadHtt ... -
Stream-->Directory
2010-08-16 09:04 694public class Directory { ... -
FieldReader
2010-08-14 10:35 754package utils; import java.i ... -
sax解析
2010-07-27 17:40 647package mySaxDo; import java ... -
socket编程
2010-07-22 09:09 1529服务器端: package server; ... -
单例模式和 properties
2010-07-13 17:04 966import java.io.File; import ja ... -
equals和==小测试
2010-07-01 09:44 807package testSingle; import o ... -
对String对象的操作
2010-06-30 13:50 742/** 写一个方法,实现字符串的反转,如:输入abc,输出c ... -
包装类Integer
2010-06-28 15:02 841package othertest; import or ... -
计算出出现次数最多的字母和该字母出现的次数
2010-06-28 10:13 1054方法一: package testString; im ... -
java调用plsql
2010-06-15 20:48 3490package test; import java.sql. ... -
xml解析(转)
2010-06-15 20:42 725JAVA 2009-11-09 10:22:33 阅读10 ... -
ObjectInputStream流 持久化
2010-06-15 20:39 987ObjectInputStream流 持久化 vo类: ...
相关推荐
DOM树是由一系列节点构成,每个节点代表文档中的一个部分,如元素、属性、文本等。 在DOM树中,文档的根节点是`Document`对象,它包含了整个XML或HTML文档。在给定的例子中,`<students>`元素是XML文档的根元素,但...
首先,我们需要理解DOM树是如何构建的。DOM树是HTML文档的节点表示,每个HTML标签对应一个DOM节点,包括元素节点、文本节点和属性节点等。从根节点(通常是`<html>`标签)开始,DOM树向下扩展,包括所有子元素,直至...
2,通过控制台查看目的网页的DOM文档树,执行JavaScript脚本, 界面介绍: 1, 命令历史窗口:保存命令的历史 2, 命令窗口 直接输入javascript语句,如:document.title; 将返回被调试页面的页面标题; ...
使用DOM-MSXML解析XML文件时,首先需要创建一个DOM解析器实例,然后加载XML文件到内存中形成DOM树。以下是一段基本的示例代码: ```vbscript Dim xmlDoc As New MSXML2.DOMDocument60 xmlDoc.async = False xmlDoc....
5. **节点操作**:`appendChild`、`removeChild`、`insertBefore`和`replaceChild`用于在DOM树中添加、删除、插入和替换节点。 6. **打印和显示XML**:可以使用循环和递归遍历DOM,将节点信息转化为字符串,并用`...
- DOM解析器负责将XML文档转换为DOM树结构,以便于程序可以访问和操作文档中的各个元素。 - 通常使用`DocumentBuilderFactory`和`DocumentBuilder`两个类来创建DOM解析器。 2. **DOM树** - DOM树是XML文档的一种...
**TreePrinter: 在DOM中打印JS树结构** `TreePrinter`项目旨在实现一个功能,即在DOM中以树形结构显示JavaScript数据。它采用了两种常见的方法来实现这一目标:迭代和递归。 1. **递归方法**: 递归是处理树形结构...
2. **打印DOM树**:除了可视化展示,插件还允许用户将DOM树打印出来,以便于离线研究或者课堂讲解。打印功能使得用户可以将复杂的DOM结构保存为纸质版,方便在没有电脑或网络的情况下进行参考。 值得注意的是,这款...
3. 遍历XML结构:提供代码展示如何遍历DOM树并打印出所有元素或特定元素。 4. 查询元素:展示如何使用`getElementsByTagName`、`getElementById`等方法找到特定元素。 5. 修改XML:包含修改元素属性、添加新元素、...
其中,`FileInputStream`用于读取文件输入流,`DocumentBuilder`和`DocumentBuilderFactory`用于构建DOM树,而`Document`、`Node`和`NodeList`则提供了对DOM树进行操作的接口。 #### 2. 创建 Document 对象 通过`...
DOM4J的DOM实现提供了一种高效且易于使用的API来处理DOM树。 2. **SAX解析**:SAX是一种事件驱动的解析器,仅在需要时读取XML文档,这使得它在处理大型XML文件时更为高效。DOM4J的SAX解析器会触发一系列事件,如...
语言:English domtree,在控制台上打印dom树 domtree,在控制台中打印DOM树计数
在XML处理中,DOM(Document Object Model)是一种标准的表示XML文档的树形结构,而DOM4J则是对DOM接口的一种实现,但它比标准DOM更轻量级,性能更好。DOM4J不仅支持DOM,还支持SAX和StAX解析器,可以适应不同的处理...
"的虚拟DOM树,然后使用`stringify`函数将其转换为HTML字符串并打印出来。 总之,“virtual-dom-stringify”是一个实用的前端工具,它使得处理和理解虚拟DOM变得更为直观和便捷。通过将虚拟DOM树转换为HTML字符串,...
SAX是事件驱动的,适用于大文件,而DOM4J的DOM解析会构建整个XML文档的树形结构,适合小型或中型文件。在这个案例中,我们可能使用DOM解析,因为它允许我们方便地遍历整个XML结构。 2. **节点操作**:在DOM4J中,...
例如,可以定义一个打印所有元素名称的Visitor,遍历整个XML树,打印出每个元素的名称。 4. 示例代码: - 创建XML: ```java Document document = DocumentHelper.createDocument(); Element root = document....
HTML DOM(Document Object Model)是HTML和XML文档的一种结构化表示,它将文档视为树形结构,允许开发者通过JavaScript或PHP等编程语言对文档进行查找、修改和操纵。在PHP中,有许多库可以用来操作DOM,其中一个...
DOM,即文档对象模型,会构建一个完整的XML树,适合小型或中等大小的文档,便于在整个文档结构中进行导航。 **DOM4J的主要组件和概念:** 1. **Element(元素)**:XML文档中的每个标签都被表示为一个Element对象...
- **Document**: 表示整个XML文档,它是DOM4J树结构的根节点。 - **Element**: 表示XML中的元素,每个元素都有一个唯一的标签名。 - **Attribute**: 元素可以有属性,用于存储附加信息。 - **Text**: 存储元素中...
1. **读取XML文件**:使用TXMLDocument的LoadFromFile或LoadFromStream方法加载XML文件或流,构建DOM树。 2. **解析XML**:TXMLDocument会自动解析XML,处理命名空间、属性和元素。 3. **查找元素**:通过...