请问要将如下格式按时间装换成格式2
格式1:
<root>
<!--An XML to Flex-->
<data time="2012-01-12 07:00:00">
<names name="总部出口时延" value="1.26"/>
</data>
<data time="2012-01-12 07:00:00">
<names name="总部出口丢包率" value="0"/>
</data>
<data time="2012-01-12 07:00:00">
<names name="总部出口链路负载" value="4.13"/>
</data>
<data time="2012-01-12 07:00:00">
<names name="总部出口输出速率" value="433475833.35"/>
</data>
</root>格式2:
<root>
<!--An XML to Flex-->
<data time="2012-01-12 07:00:00">
<names name="总部出口时延" value="1.26"/>
<names name="总部出口丢包率" value="0"/>
<names name="总部出口链路负载" value="4.13"/>
<names name="总部出口输出速率" value="433475833.35"/>
</data>
</root>
源码如下,属性是动态的。
public String getXmlStr() {
getConn();
// 使用 DocumentHelper 类创建一个文档实例。 DocumentHelper 是生成 XML 文档节点的 dom4j API
Document document = DocumentHelper.createDocument();
Element rootElement = document.addElement("root"); // 在 root 元素中使用 addComment() 方法添加注释“An XML to Flex"”。
// <!--AAn XML to Flex--> 添加注释!
rootElement.addComment("An XML to Flex");
for (int i = 0; i < size; i++) {
// 在 root 元素中使用 addElement() 方法增加 data 元素。
Element dataElement = rootElement.addElement("data"); // 使用 addAttribute() 方法向 data 元素添加 time属性。
dataElement.addAttribute("time", list1.get(i).toString()); // 向 data 元素中添加 names 元素。
Element namesElement = dataElement.addElement("names"); // 为 names 元素增加 name 和 value 属性。
namesElement.addAttribute("name", list2.get(i).toString());
namesElement.addAttribute("value", list3.get(i).toString());
}
// 输出格式化器
OutputFormat format = new OutputFormat(" ", true);
// 设置编码
format.setEncoding("gb2312");
// xml输出器
StringWriter out = new StringWriter();
XMLWriter xmlWriter = new XMLWriter(out, format);
// 打印doc
try {
xmlWriter.write(document);
xmlWriter.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} // 关闭输出器的流,即是printWriter
String s = out.toString();
String text = s;// document.asXML();
System.out.println(text);
return text;
}
public void getConn() {
// 测试时间。
String time_begin = "201201120700";
String time_end = "201201120730";
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection( "jdbc:oracle:thin:@192.168.20.166:1521:beijing",
"ultranms", "ultranms");
String sql = "select to_char(to_date(time_id,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') time_id,i.kpi_cn_name kpi_name,l.value \n"
+ " from pm_important_link l,kpi_info_calculate i "
+ " where time_id >=? and time_id <? and l.kpi_no = i.kpi_no \n"
+ " order by time_id \n"; ps = conn.prepareStatement(sql);
ps = conn.prepareStatement(sql);
ps.setString(1, time_begin);
ps.setString(2, time_end);
System.out.println("SQL:" + sql);
rs = ps.executeQuery();
while (rs.next()) { list1.add(rs.getString("time_id"));
list2.add(rs.getString("kpi_name"));
list3.add(rs.getString("value"));
size++;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
System.out.println("SQL异常");
} } }
然后保存成代码片段。
用codehelp进行代码保存。以后方便使用.加油