groovy构建和解析xml文件

时间:2023-03-08 17:17:46
groovy构建和解析xml文件

原文链接: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>