是这样的,我往一个XML里插入一段新的节点,但是这个新的节点里的值必须要有空,但是我生成文本的时候却没有空,请知道的告诉我下,谢了,具体看我代码,代码如下:package com.aiflow.zxb;import java.io.File;
import java.io.FileWriter;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;public class EditTojumpXML
{  public EditTojumpXML()
  {
  }  public static void main(String[] args)
  {
     EditTojumpXML cxh = new EditTojumpXML();
     cxh.getConnectToolList();
  }  public synchronized void getConnectToolList()
  {
     File file = new File("test.xml");
    try
    {
       SAXReader reader = new SAXReader();
       Document document = reader.read(file);
       Element root = document.getRootElement();
       int temp = 0;
       int count = 0;
       int count_ = 0;
       for (Iterator i = root.elementIterator(); i.hasNext(); )
      {
         Element collStation = (Element)i.next();
         String ip = "";
         String Ip = "";
         String sship = "";
         List list = collStation.content();
         for (Iterator j = collStation.elementIterator(); j.hasNext(); )
        {
          if(temp==1){
          temp = 2;
          }
           Element collStationInfo = (Element)j.next();
          Iterator k;
          Element connectInfo;
          if ((collStationInfo.getName().equals("Scripts")))
          {
             for (k = collStationInfo.elementIterator(); k.hasNext(); )
            {
              connectInfo = (Element)k.next();
              if (connectInfo.getName().equals("Ip"))
                 {
                   Ip = connectInfo.getText();
                 }
               if (connectInfo.getName().equals("CommandString"))
              {
                ip = connectInfo.getText();
//                System.out.println(ip);
                if(ip.contains("ssh")){
                sship = connectInfo.getText(); 
                temp = 1;
                }
              }
            }
             if(temp == 2){
              Element e = root.addElement("Scripts");
//              e.setText("hehe");
              Element ScriptType = e.addElement("ScriptType");
              ScriptType.setText("send");
              Element  CommandID = e.addElement("CommandID");
              count = count + 1;
              count_ = count + 1;
              if(count<10){
              CommandID.setText("0x5e0"+count+"7100");
              }else {
              CommandID.setText("0x5e"+count+"7100");
              }
              Element  CommandString = e.addElement("CommandString");
              CommandString.setText("vmstat");
              Element  CommandPrompt = e.addElement("CommandPrompt");
              CommandPrompt.setText("~>");
//              CommandPrompt.addCDATA("~>");
              Element  ContinuePrompt = e.addElement("ContinuePrompt");
              ContinuePrompt.setText(" ");
              Element  ContinueString = e.addElement("ContinueString");
              ContinueString.setText(" ");
              Element  StopString = e.addElement("StopString");
              StopString.setText(" ");
              Element  TimeOut = e.addElement("TimeOut");
              TimeOut.setText("15000");
              Element  AnaScripts = e.addElement("AnaScripts");
              Element  AnCommandID = AnaScripts.addElement("CommandID");
              if(count<10){
              AnCommandID.setText("0x5e0"+count+"7200");
              }else {
              AnCommandID.setText("0x5e"+count+"7200");
              }
              Element  CRunID = AnaScripts.addElement("CRunID");
              if(count<10){
              CRunID.setText("0x5e0"+count+"7200");
              }else {
              CRunID.setText("0x5e"+count+"7200");
              }
              Element  retrievename = AnaScripts.addElement("retrievename");
              if(sship.contains("@")){
              retrievename.setText(sship.split("@")[1]+"- Cpu空闲使用率 ");
              }else{
              retrievename.setText(sship.split("xunjian")[1]+"- Cpu空闲使用率 ");
              }
              Element  superscript = AnaScripts.addElement("superscript");
              superscript.setText("id wa");
              Element  suffix = AnaScripts.addElement("suffix");
              suffix.setText(" ");
              Element  delimiter = AnaScripts.addElement("delimiter");
              delimiter.setText(" ");
              Element  index = AnaScripts.addElement("index");
              index.setText("14");
              Element  Option = AnaScripts.addElement("Option");
              Option.setText("SELECT");
              Element  AnaScripts_ = e.addElement("AnaScripts");
              Element  AnCommandID_ = AnaScripts_.addElement("CommandID");
              if(count<10){
              AnCommandID_.setText("0x5e0"+count_+"7100");
              }else {
              AnCommandID_.setText("0x5e"+count_+"7100");
              }
              Element  CRunID_ = AnaScripts_.addElement("CRunID");
              if(count<10){
              CRunID_.setText("0x5e0"+count_+"7100");
              }else {
              CRunID_.setText("0x5e"+count_+"7100");
              }
              Element  retrievename_ = AnaScripts_.addElement("retrievename");
              if(sship.contains("@")){
              retrievename_.setText(sship.split("@")[1]+"- 内存空闲使用数 ");
              }else{
              retrievename_.setText(sship.split("xunjian")[1]+"- 内存空闲使用数 ");
              }
              Element  superscript_ = AnaScripts_.addElement("superscript");
              superscript_.setText("id wa");
              Element  suffix_ = AnaScripts_.addElement("suffix");
              suffix_.setText(" ");
              Element  delimiter_ = AnaScripts_.addElement("delimiter");
              delimiter_.setText(" ");
              Element  index_ = AnaScripts_.addElement("index");
              index_.setText("14");
              Element  Option_ = AnaScripts_.addElement("Option");
              Option_.setText("SELECT");
              list.add(18, e);
              
              temp = 3;
             }
          }
         }
        }
       OutputFormat format = OutputFormat.createPrettyPrint();
       format.setEncoding("GB2312");
       XMLWriter output = new XMLWriter(
       new FileWriter( new File("jump_script.xml")),format);
       output.write( document );
       output.close();
    }
    catch (Exception e)
    {
       e.printStackTrace();
    }
  }
}

解决方案 »

  1.   

    OutputFormat format = OutputFormat.createPrettyPrint();
           format.setEncoding("GB2312");
           format.setTrimText(false);
           XMLWriter output = new XMLWriter(
           new FileWriter( new File("not_jump_script.xml")),format);
           output.write( document );
           output.close();