使用JDOM生成XML文档

简介:
      既然可以从XML中取得所需要的数据,当然也应该可以把自己的数据写入生成XML文件。由于XML是可扩展标记语言,所以如果没有特定DTD或者Schema约定的话,生成的XML文件标签及属性的具体写法你可以按个人习惯(当然一般情况下应该是有约定的,这样你就只有按照DTD或者Schema的规定来生成了)。
     写个简单的例子,在把一个简单的信息输出到E:/temp下的output.xml中。
 
XMLWriter.java
public  class XMLWriter { 
/** 
* <selects> 
*      <select> 
*        <id>1</id> 
*        <name>北京市</name> 
*      </select> 
*      <select> 
*        <id>2</id> 
*        <name>上海市</name> 
*      </select> 
* </selects> 
*    
*/
 
   public  static  void main(String[] args) { 
     /*先生成目标Elements并建立各Element之间的关系*/ 
    Element rootElt= new Element( "selects"); 
     
    Element selectElt= new Element( "select"); 
    Element idElt= new Element( "id"); 
    idElt.addContent( "1"); 
    Element valueElt= new Element( "name"); 
    valueElt.addContent( "北京市"); 
    selectElt.addContent(idElt); 
    selectElt.addContent(valueElt); 
     
    Element selectElt2= new Element( "select"); 
    Element idElt2= new Element( "id"); 
    idElt2.addContent( "2"); 
    Element valueElt2= new Element( "name"); 
    valueElt2.addContent( "上海市"); 
    selectElt2.addContent(idElt2); 
    selectElt2.addContent(valueElt2); 
     
    rootElt.addContent(selectElt); 
    rootElt.addContent(selectElt2); 
     /* 
     * 生成xml文件 
     */
 
     //得到根节点 
    Document doc= new Document(rootElt); 
     //使用JDOM提供的XMLOutputter类输出 
    XMLOutputter out= new XMLOutputter(); 
     //设置xml文件的Encoding 
    out.setFormat(Format.getCompactFormat().setEncoding( "gb2312")); 
     //我这里先打印查看一下生成的字符串 
    String xmlStr=out.outputString(doc); 
    System.out.println(xmlStr); 
     
     try { 
       //进行数据输出 
      out.output(doc,  new FileOutputStream( "E:/temp/output.xml")); 
    }  catch (FileNotFoundException e) { 
      e.printStackTrace(); 
    }  catch (IOException e) { 
      e.printStackTrace(); 
    } 
  } 


     本文转自NightWolves 51CTO博客,原文链接: http://blog.51cto.com/yangfei520/301251 ,如需转载请自行联系原作者




相关文章
|
10月前
|
XML 存储 JavaScript
DOM 节点遍历:掌握遍历 XML文档结构和内容的技巧
**XML DOM 遍历、操作和导航概述** - 遍历XML节点树用于提取信息,例如,通过JavaScript的DOM API循环`&lt;book&gt;`子节点显示名称和值。 - DOM解析器处理XML文本数据,包括解析字符数据(PCDATA)和识别CDATA段。 - 节点导航涉及`parentNode`、`childNodes`等属性,`get_nextSibling`等辅助函数避免空文本节点。 - `getElementsByTagName`、`getAttribute`和`nodeValue`用于检索元素、属性值和文本。
115 6
DOM 节点遍历:掌握遍历 XML文档结构和内容的技巧
|
7月前
|
XML 数据采集 存储
使用Java和XPath在XML文档中精准定位数据
在数据驱动的时代,从复杂结构中精确提取信息至关重要。XML被广泛用于数据存储与传输,而XPath则能高效地在这些文档中导航和提取数据。本文深入探讨如何使用Java和XPath精准定位XML文档中的数据,并通过小红书的实际案例进行分析。首先介绍了XML及其挑战,接着阐述了XPath的优势。然后,提出从大型XML文档中自动提取特定产品信息的需求,并通过代理IP技术、设置Cookie和User-Agent以及多线程技术来解决实际网络环境下的数据抓取问题。最后,提供了一个Java示例代码,演示如何集成这些技术以高效地从XML源中抓取数据。
250 7
使用Java和XPath在XML文档中精准定位数据
|
10月前
|
XML 存储 C#
C# xml文档反序列化记事
本文介绍了使用XmlSerializer进行XML序列化和反序列化的关键点。包括:1) 以独占方式读取XML文件以避免并发问题;2) 当元素名与类型名不一致时,可通过`[XmlArrayItem]`指定元素名,或创建继承自原始类型的子类;3) 处理DateTime反序列化错误,通过中间字符串属性转换;4) 提到了常用C#特性如`[XmlRoot]`, `[XmlElement]`, `[XmlAttribute]`, `[XmlIgnore]`和`[XmlArrayItem]`的作用。
|
10月前
|
XML JavaScript 前端开发
XML文档节点导航与选择指南
XPath是XSLT的核心部分,用于XML文档的节点定位和选择。它采用路径表达式语法,包含200多个内置函数处理各种数据类型。XPath在编程语言如JavaScript中广泛使用,与XSLT配合进行XML转换和样式处理。它涉及7种节点类型,如元素、属性和文本,以及多种节点间关系,如父、子、同级等。XPath还使用轴(如ancestor、child)来描述节点间的关联,并支持运算符进行逻辑和数学操作。
117 0
XML文档节点导航与选择指南
|
10月前
|
XML JavaScript 数据格式
XML Schema(XSD)详解:定义 XML 文档结构合法性的完整指南
XML Schema(XSD)是用于定义XML文档结构的规范,它描述了元素、属性及其顺序、数据类型和约束。与DTD相比,XML Schema支持更多数据类型,如字符串、日期等,并且是基于XML的,允许扩展和重用。学习XML Schema有助于确保数据通信时双方对内容的理解一致,通过验证防止错误。示例展示了如何定义一个`note`元素,包含`to`, `from`, `heading`和`body`子元素,都是字符串类型。XML文档可以通过引用XML Schema进行验证,确保内容符合预设模式。
714 0
|
10月前
|
XML 存储 数据格式
探索 DTD 在 XML 中的作用及解析:深入理解文档类型定义
DTD(文档类型定义)用于定义XML文档的结构和合法元素、属性。它允许不同团体就数据交换标准达成一致,并用于验证XML数据的有效性。DTD可通过内部声明(在XML文档内)或外部声明(在单独文件中)来定义。内部声明示例显示了如何定义`note`元素及其子元素的结构,而外部声明则引用外部DTD文件。元素、属性、实体和PCDATA/CDATA是XML构建模块。DTD中,元素通过ELEMENT声明定义,属性通过ATTLIST声明定义,实体声明提供特殊字符或外部资源的快捷方式。
165 0
|
XML JavaScript 数据格式
使用Dom4J解析XML文档
XML解析的方式 XML常见的两种解析方式: DOM: 要求解析器将整个XML文件全部加载到内存中,生成一个Document对象 优点:元素和元素之间保留结构、关系,可以针对元素进行增删查改操作 缺点:如果XML文件过大,可能会导致内存溢出 SAX:是一种速度更快,更加高效的解析方式。它是逐行扫描,边扫描边解析,并且以事件驱动的方式来进行具体的解析,每解析一行都会触发一个事件 优点: 不会出现内存溢出的问题,可以处理大文件 缺点:只能读,不能写 概念辨析: 解析器就是根据不同的解析方式提供具体的实现。 为了方便开发人员来解析XML,有一些方便操作的类库。例如Dom4j其中就包含了很多解
133 0
|
XML 存储 JavaScript
DOM、JDOM、DOM4J解析XML
DOM、JDOM、DOM4J解析XML
120 0
|
XML Java 数据格式
关于使用JAXB读取xml文档转换为java对象出现非法注解异常
关于使用JAXB读取xml文档转换为java对象出现非法注解异常
关于使用JAXB读取xml文档转换为java对象出现非法注解异常
|
XML 存储 消息中间件
Tsung MQTT协议简介及MQTT xml文档配置介绍
Tsung MQTT协议简介及MQTT xml文档配置介绍
188 0