原文链接:http://www.ibm.com/developerworks/cn/java/j-pg05199/

代码示例:

构建xml文件:

 def static createXmlFile(){
def sw = new StringWriter();
def xml = new groovy.xml.MarkupBuilder(sw);
xml.DataObject{
def i = 0, j = 0;
while(i<6){
coal{
Color("#000000");//煤仓煤的颜色
tm("1");//更新煤仓数据的时间
height("12");//煤仓煤位高度
}
i++;
}
while(j<6){
txt{
name("煤仓名称");
name("煤仓煤位");
name("配煤煤种");
name("煤位吨数");
value("A仓");
value("12m");
value("高卡高硫煤");
value("488.5t");
}
j++;
}
} def file = new File("web-app/shangmfa/config.xml");
if(file.exists()){//如果文件不存在则创建一个文件
file.mkdirs();
}
def xmlString = """
<?xml version='1.0' encoding='UTF-8'?>
""";
file.write(xmlString + sw.toString());
}

xml文件:

 <DataObject>
<coal>
<Color>#000000</Color>
<tm>1</tm>
<height>12</height>
</coal>
<coal>
<Color>#000000</Color>
<tm>1</tm>
<height>12</height>
</coal>
<coal>
<Color>#000000</Color>
<tm>1</tm>
<height>12</height>
</coal>
<coal>
<Color>#000000</Color>
<tm>1</tm>
<height>12</height>
</coal>
<coal>
<Color>#000000</Color>
<tm>1</tm>
<height>12</height>
</coal>
<coal>
<Color>#000000</Color>
<tm>1</tm>
<height>12</height>
</coal>
<txt>
<name>煤仓名称</name>
<name>煤仓煤位</name>
<name>配煤煤种</name>
<name>煤位吨数</name>
<value>A仓</value>
<value>12m</value>
<value>高卡高硫煤</value>
<value>488.5t</value>
</txt>
<txt>
<name>煤仓名称</name>
<name>煤仓煤位</name>
<name>配煤煤种</name>
<name>煤位吨数</name>
<value>A仓</value>
<value>12m</value>
<value>高卡高硫煤</value>
<value>488.5t</value>
</txt>
<txt>
<name>煤仓名称</name>
<name>煤仓煤位</name>
<name>配煤煤种</name>
<name>煤位吨数</name>
<value>A仓</value>
<value>12m</value>
<value>高卡高硫煤</value>
<value>488.5t</value>
</txt>
<txt>
<name>煤仓名称</name>
<name>煤仓煤位</name>
<name>配煤煤种</name>
<name>煤位吨数</name>
<value>A仓</value>
<value>12m</value>
<value>高卡高硫煤</value>
<value>488.5t</value>
</txt>
<txt>
<name>煤仓名称</name>
<name>煤仓煤位</name>
<name>配煤煤种</name>
<name>煤位吨数</name>
<value>A仓</value>
<value>12m</value>
<value>高卡高硫煤</value>
<value>488.5t</value>
</txt>
<txt>
<name>煤仓名称</name>
<name>煤仓煤位</name>
<name>配煤煤种</name>
<name>煤位吨数</name>
<value>A仓</value>
<value>12m</value>
<value>高卡高硫煤</value>
<value>488.5t</value>
</txt>
</DataObject>

groovy构建和解析xml文件的更多相关文章

  1. Ajax实现xml文件数据插入数据库(一)--- 构建解析xml文件的js库

    Ajax实现将xml文件数据插入数据库的过程所涉及到的内容比较多,所以对于该过程的讲解本人打算根据交互的过程将其分为三个部分,第一部分为构建解析xml文件的javascript库,第二部分为ajax与 ...

  2. JAVA使用SAX解析XML文件

    在我的另一篇文章(http://www.cnblogs.com/anivia/p/5849712.html)中,通过一个例子介绍了使用DOM来解析XML文件,那么本篇文章通过相同的XML文件介绍如何使 ...

  3. JAVA中使用DOM解析XML文件

    XML是一种方便快捷高效的数据保存传输的格式,在JSON广泛使用之前,XML是服务器和客户端之间数据传输的主要方式.因此,需要使用各种方式,解析服务器传送过来的信息,以供使用者查看. JAVA作为一种 ...

  4. java解析XML文件

    dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点,同时它也是一个开放源 ...

  5. 解析xml文件的四种方式

    什么是 XML? XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 XML 标签没 ...

  6. 深入浅出如何解析xml文件---下篇

    在上篇博文中,小编主要介绍xml的两种解析方式,分别是dom4j和dom,今天这篇博文,小编主要来简单介绍一下xml的其她两种解析方式sax和jdom.  sax解析xml文件 sax,全称是Simp ...

  7. 深入浅出如何解析xml文件---上篇

    xml小伙伴们并不陌生,xml是可扩展标记语言,标准通用标记语言语言的子集,是一种用来标记电子文件使其具有结构性的标记语言.我们知道xml可以用dom与sax等方法进行解析,但是xml为什么要解析呢? ...

  8. Java进阶(二十七)使用Dom4j解析XML文件

    使用Dom4j解析XML文件 写在前面的话 由于论文实验要求,需要实现操作XML文档,为此想到了dom4j这个工具,使用之后深感受益.在此分享给大家,以此共勉. 注:本文转载自http://blog. ...

  9. android-pull方式解析xml文件以及XML文件的序列化

    android解析XML ---------------------------基础要像磐石 在android平台上可以使用SAX.DOM和自带的Pull解析器解析xml文件,本文主要介绍使用pull ...

随机推荐

  1. 图论(无向图的割顶):POJ 1144 Network

    Network   Description A Telephone Line Company (TLC) is establishing a new telephone cable network. ...

  2. 固定IP和绑定了MAC,可以在设置无线路由器供笔记本电脑和平板上网吗?

    固定IP和绑定了MAC,可以在设置无线路由器供笔记本电脑和平板上网吗? 这跟我们单位一样.很简单:首先要占一个 IP/MAC ,能上外网的,这首先要有,谁要肯给地址,我们这儿领导才有呢.我是网管,当然 ...

  3. Python操作Excel_输出所有内容(包含中文)

    python 2.7.5代码: # coding=utf-8 import sys import xlrd data=xlrd.open_workbook('D:\\menu.xls') table ...

  4. 暴力求解——除法 Division,UVa 725

    Description Write a program that finds and displays all pairs of 5-digit numbers that between them u ...

  5. Java多线程Thread.yield(),thread.join(), Thread.sleep(200),Object.wait(),Object.notify(),Object.notifyAll()的区别

    Thread.yield(),在某个线程里调用Thread.yield(),会使这个线程由正在运行的running状态转变为等待cpu时间片的runable状态.join()是Thread类的一个非s ...

  6. 301重定向与CNAME

    CNAME记录是域名指向另一个域名A记录是域名指向IP地址URL跳转是打开这个网址的时候会跳转到另一个指定的网址,URL跳转分为301永久重定向和302临时重定向. 301永久重定向会使搜索引擎抓取新 ...

  7. pl sql developer登陆界面找不到oracle数据库选项

    window 64位的操作系统 装的数据库win64_11gR2的数据库,PL SQL是PLSQL Developer 7.1.5最后是下载了一个instantclient_11_2包将你数据库安装路 ...

  8. 【安卓】给ViewFlipper加指示器,相似ViewPagerIndicator库提供的那种、!

    思路: 1.viewPager有setOnPageChangeListener能够监听切换动作,但viewFlipper却死活没类似的东西.! 此处有一个变种思路,基于animation,animat ...

  9. cocos2d-x项目过程记录(纹理和内存优化方面)

    1.参考资料:Cocos2d-x纹理优化的一些方案  cocos2d-x如何优化内存的应用  iOS和android游戏纹理优化和内存优化(cocos2d-x) 2.加载贴图集纹理 CCSpriteF ...

  10. 如何设置jsp默认的编码为utf-8

    方法一: 文件里写: <%@ page contentType="text/html; charset=UTF-8"  %> 方法二: 选择window –> P ...