请问要将如下格式按时间装换成格式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>

解决方案 »

  1.   


    源码如下,属性是动态的。
    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;
    }
      

  2.   


    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异常");
    } } }
      

  3.   

    呵呵,不错!最好就养成个习惯,把可以重用的代码包装成一个文件。
    然后保存成代码片段。
    用codehelp进行代码保存。以后方便使用.加油