`

使用JDOM构建xml(2)

 
阅读更多

使用JDOM读xml

写一段代码读前面(1)的xml文件,代码如下

SAXBuilder builder = new SAXBuilder(false);
		Document doc = builder.build("d:/a.xml");
		//获取处理指令并输出
		ProcessingInstruction ins = (ProcessingInstruction) doc.getContent(0);
		System.out.print("<?" + ins.getTarget() + " ");
		List<String> insList = ins.getPseudoAttributeNames();
		for(int index = 0; index < insList.size(); index++){
			String value = insList.get(index);
			System.out.print(value + "=\"" + ins.getPseudoAttributeValue(value) + "\"");
			if(index < insList.size() - 1){
				System.out.print(" ");
			}
		}
		System.out.println("?>");
		//获取DocType并输出
		DocType docType = doc.getDocType();
		System.out.print("<!DOCTYPE " + docType.getElementName());
		System.out.print(" PUBLIC \"" +docType.getPublicID() + "\"");
		System.out.println(" \"" + docType.getSystemID() + "\"");
		//获取root
		Element root = doc.getRootElement();
		//输出root的头部
		System.out.print("<" +root.getName() + " ");
		List<Attribute> rootAttrList = root.getAttributes();
		for(int index = 0; index < rootAttrList.size(); index++){
			Attribute attr = rootAttrList.get(index);
			System.out.print(attr.getName() + "=\"" + attr.getValue() + "\"");
			if(index < rootAttrList.size() - 1){
				System.out.print(" ");
			}
		}
		System.out.println(">");
		//获取子元素
		List<Element> childList = root.getChildren();
		for(int eleIndex = 0; eleIndex < childList.size(); eleIndex++){
			Element element = childList.get(eleIndex);
			String elementName = element.getName();
			String elementValue = element.getText();
			List<Element> innerList = element.getChildren();
			if(innerList == null || innerList.size() == 0){
				System.out.println("<" + elementName + ">" + elementValue + "</" + elementName + ">");
			}else{
				System.out.println("<" + elementName + ">");
				for(int innerIndex = 0; innerIndex < innerList.size(); innerIndex++){
					Element innerElement = innerList.get(innerIndex);
					String innerElementName = innerElement.getName();
					String innerElementValue = innerElement.getText();
					System.out.println("<" + innerElementName + ">" + innerElementValue + "</" + innerElementName + ">");
				}
				System.out.println("</" + elementName + ">");
			}
		}
		//输出root的结尾
		System.out.println("</root>");

 最后输出结果如下:

<?xml-stylesheet type="text/xsl" href="products.xsl"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"
<root root="this is root">
<file>c:/a.txt</file>
<test>
<testInner>test</testInner>
</test>
</root>
 
分享到:
评论

相关推荐

    Oracle开发人员JDOM和XML分析生成文档

    下一个是org.jdom.input包,它包括用于构建XML文档的类。其中最主要和最重要的类是SAXBuilder。org.jdom.output包中包括输出XML文档的一些类。其中最重要的类是XMLOutputter。它将文档转换为一个字节流,用于输出到...

    jdom dom4j sax 的构建和解析xml

    //定义静态方法解析元素所有属性 public static void parseAttribute(Element element) { //step1:获取当前元素的所有属性 List attrs=element.attributes(); //step2:遍历元素的每个属性 for (Object att : ...

    Java and XML, 3rd Edition

    它将教您如何使用XML的各种应用程序编程接口(API)、工具和技巧来构建实际的应用程序,为管理从配置文件到网络站点在内的所有信息提供一条全新的途径。 本书的前两章回顾有关XML的基础知识,包括XPath、XSL、DTD...

    jdom.jar包,这个是2.0.6.1版本。

    1. 编写 xml 文件要用到的包。 2. 用处:eclipse 3. 方法:右键项目,构建路径,添加外置归文档。 4. 或则:搜eclipse如何导入jdom.jar

    JAVA与XML.rar

    它将教您如何使用XML的各种应用程序编程接口(API)、工具和技巧来构建实际的应用程序,为管理从配置文件到网络站点在内的所有信息提供一条全新的途径。 本书的前两章回顾有关XML的基础知识,包括XPath、XSL、DTD以及...

    xml入门教程/xml入门教程

    2.xml文件是由元素和元素的内容以及属性组成的,一个xml文件中只能有一个根元素,标签和标签的内容加在一起叫作一个元素。xml是大小写 敏感的,只能以字母或下划线开头。 字符转义 &lt; 代表 ", &gt; 代表 "&gt;" , &...

    XMLParser:使用SAX的XML Parser,库JDOM。 它不是通用的。 代码将为您提供一个如何构建通用XMLParser的想法

    XMLParser 示例文件的XML分析器。 它不是通用的。 代码将为您提供一个如何解析XML文件的想法。

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    第1章 xml与dtd 2 1.1 xml的产生 2 1.2 w3c介绍 2 1.3 关于xml的几个问题 3 1.4 xml与html的比较 4 1.4.1 xml将数据与显示分开 5 1.4.2 xml对文档的格式要求更加严格 6 1.4.3 xml有且只能有一个根元素 6 1.5...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    第1章 xml与dtd 2 1.1 xml的产生 2 1.2 w3c介绍 2 1.3 关于xml的几个问题 3 1.4 xml与html的比较 4 1.4.1 xml将数据与显示分开 5 1.4.2 xml对文档的格式要求更加严格 6 1.4.3 xml有且只能有一个根元素 6 1.5...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    第1章 xml与dtd 2 1.1 xml的产生 2 1.2 w3c介绍 2 1.3 关于xml的几个问题 3 1.4 xml与html的比较 4 1.4.1 xml将数据与显示分开 5 1.4.2 xml对文档的格式要求更加严格 6 1.4.3 xml有且只能有一个根元素 6 1.5...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    第1章 xml与dtd 2 1.1 xml的产生 2 1.2 w3c介绍 2 1.3 关于xml的几个问题 3 1.4 xml与html的比较 4 1.4.1 xml将数据与显示分开 5 1.4.2 xml对文档的格式要求更加严格 6 1.4.3 xml有且只能有一个根元素 6 1.5...

    Java数据库编程宝典2

    目录 前言 第1部分 介绍数据库、SQL和JDBC 第1章 关系型数据库 1.1 理解关系型数据库管理系统 1.1.1 关系模型 1.1.2 Codd法则 1.1.3 表、行、列和关键字 ... 17.3 使用Java XML API——Xerces和JDOM ...

    Java数据库编程宝典4

    目录 前言 第1部分 介绍数据库、SQL和JDBC 第1章 关系型数据库 1.1 理解关系型数据库管理系统 1.1.1 关系模型 1.1.2 Codd法则 1.1.3 表、行、列和关键字 ... 17.3 使用Java XML API——Xerces和JDOM ...

    Java数据库编程宝典1

    目录 前言 第1部分 介绍数据库、SQL和JDBC 第1章 关系型数据库 1.1 理解关系型数据库管理系统 1.1.1 关系模型 1.1.2 Codd法则 1.1.3 表、行、列和关键字 ... 17.3 使用Java XML API——Xerces和JDOM ...

    Java数据库编程宝典3

    目录 前言 第1部分 介绍数据库、SQL和JDBC 第1章 关系型数据库 1.1 理解关系型数据库管理系统 1.1.1 关系模型 1.1.2 Codd法则 1.1.3 表、行、列和关键字 ... 17.3 使用Java XML API——Xerces和JDOM ...

    jaxen:Java的Jaxen XPath引擎

    还可以编写将非XML树(例如已编译的Java字节码或Java bean)视为XML的适配器,从而使您也可以使用XPath查询这些树。 当前版本是1.2.0 。 此版本需要Java 1.4或更高版本。 如果您仍在使用Java 1.3或更早版本,请尝试...

    JPList - Java library for ASCII PLists-开源

    JPList项目提供了一个Java库,用于解析和构建与Java对象之间的ASCII PList流,这与JDOM对XML所做的类似。 PLists提供了XML的更紧凑且同样丰富的替代方案,作为数据序列化机制。

    h_JAVA 2应用编程150例.rar

    实例86 JSP与XML的结合 288 第8章 Java安全控制编程 291 实例87 控制访问权限 292 实例88 产生密钥 296 实例89 单钥加解密 299 实例90 双钥加解密 301 实例91 数字签名 303 实例92 实现SSL协议 306 实例93 简单的...

    java源码包JSP实例源码JAVA开发源码65个合集.zip

    用jdom解析xml.rar 电子书店管理系统.rar 编译原理--LR(1)分析表构造(JAVA).rar 网上书店.rar 网络电视源代码TV-Browser.rar 网络蚂蚁Java版.rar 网页浏览器.rar 蜀山剑侠传游戏J2ME手机版源代码.rar 超市购物...

Global site tag (gtag.js) - Google Analytics