我有这段代码给出SAXParseError
,即它没有获取内容,但是当我在我的测试pg中使用它时,它的作用是正确的。这里我提供我的原代码块,可以ANY1弄清楚是什么问题org.xml.sax.SAXParseException:文件过早结束
这是部分地方I fetch a xml and append a node to it
但似乎我不能够得到文件本身
String atemp=readFileAsString("../webapps/abc/include/xml/data.xml")
log.info("ok thats good")
String[] splitString=res.split(",")
log.info(atemp)
try
{
def root = new XmlSlurper().parseText(atemp)
}
catch(Exception e)
{
log.debug("parse errror: "+e)
}
root.appendNode {
row {
name(splitString[1])
host(splitString[2])
desc(splitString[3])
product(splitString[4])
type(splitString[5])
time(splitString[6])
by(splitString[7])
}
}
def outputBuilder = new StreamingMarkupBuilder()
String temp = outputBuilder.bind{ mkp.yield root }
File file = new File("../webapps/abc/include/xml/data.xml");
BufferedWriter output = new BufferedWriter(new FileWriter(file));
output.write(temp);
output.close();
log.info(temp)
我readFileAsString功能
输出
INFO http-5050-Processor24 com.abc.helper.WriteXml - false
INFO http-5050-Processor24 com.abc.helper.WriteXml - File Content
INFO http-5050-Processor24 com.abc.helper.WriteXml - ok thats good
注意:我能够打开该文件在我的测试程序具有相同路径
您的'readFileAsString'不考虑[文档编码](http://www.w3.org/TR/xml/#sec-guessing)。 – McDowell 2011-06-02 10:17:22