Java 使用字符串生成器在单个csv/xls列中放置XML无效

Java 使用字符串生成器在单个csv/xls列中放置XML无效,java,xml,csv,groovy,soapui,Java,Xml,Csv,Groovy,Soapui,我遇到了一个XML响应问题,并将其格式化为CSV,以后可以将其作为XLS打开,并将整个响应显示在单个单元格中。我知道。。我也不会这么做,但他们得到了他们想要的 到目前为止,我已经尝试使用字符串生成器。这已经成功地将响应格式化为一个单行字符串,我通过将其写入文本文件并复制到Eclipse进行了测试。。当我在XML周围加上单引号时,它会变成一个字符串 当尝试以单行格式获取相同的响应并将其粘贴到csv文件中时。。csv文件在XML字符串中的逗号上断开,并将响应放在几十个单元格中 Buffere

我遇到了一个XML响应问题,并将其格式化为CSV,以后可以将其作为XLS打开,并将整个响应显示在单个单元格中。我知道。。我也不会这么做,但他们得到了他们想要的

到目前为止,我已经尝试使用字符串生成器。这已经成功地将响应格式化为一个单行字符串,我通过将其写入文本文件并复制到Eclipse进行了测试。。当我在XML周围加上单引号时,它会变成一个字符串

当尝试以单行格式获取相同的响应并将其粘贴到csv文件中时。。csv文件在XML字符串中的逗号上断开,并将响应放在几十个单元格中

    BufferedReader br = new BufferedReader(new FileReader(new File('responseXml.txt')));
    String l;
    StringBuilder sb = new StringBuilder();


    while((l=br.readLine())!= null){sb.append(l.trim());
    File respfile = new File("outresp.txt")
    respfile.append(l)
    println respfile.text
//verified single line string  
    respContents = new File("outresp.txt").text  
                    }

    File file = new File('outXML.csv')
    file.append(respContents)
    println file.text   

// open csv still broke across many lines

我想要的是将单个xml字符串放入单个xls单元格。

要将值放入csv(excel)中的单个列,您有两个选择:

  • 删除所有新行(
    \r\n
    )和COMA(
  • 用两个双引号(
    )替换每个双引号(
    ),并用双引号将整个值括起来
  • 第二个变量允许您在一个excel单元格中保留原始(多行)字符串格式

    以下是第二种变体的代码:

    //假设responseXml变量中包含整个xml
    def responseXml=''