我使用JDom2库以编程方式在Java中创建了一个XML文件。 当我尝试将该文件导入MS Project时,我收到一个错误(我们很抱歉,但是这个文件中的问题似乎不允许我们打开。尝试使用备份,如果可用的话)
但是当我复制XML文件的内容时,在一个新文件中并将其保存为XML,当我尝试在Project中导入它时完美无缺。
为什么这可能,我该如何解决?
编辑:放一些代码
Element e = new Element("Project");
Document doc = new Document(e);
e.addContent(new Element("SaveVersion").setText("14"));
e.addContent(new Element("Name").setText(nomFichero));
e.addContent(new Element("CreationDate").setText(fecha));
e.addContent(new Element("LastSaved").setText(fecha2));
e.addContent(new Element("ScheduleFromStart").setText("1"));
e.addContent(new Element("StartDate").setText(fecha));
e.addContent(new Element("FinishDate").setText(fecha));
e.addContent(new Element("FYStartDate").setText("1"));
e.addContent(new Element("CriticalSlackLimit").setText("0"));
XMLOutputter xmlOutput = new XMLOutputter();
xmlOutput.setFormat(Format.getPrettyFormat());
xmlOutput.output(doc, new FileWriter(file));
答案 0 :(得分:1)
可能是文件编码问题 - 两个文件(一个生成,一个手动创建)具有不同的编码。第一个是不正确的,第二个是正确的。
如果是这种情况,则应使用正确的编码生成文件。你可以尝试:
xmlOutput.output(doc, new OutputStreamWriter(new FileOutputStream(file), "ISO-8859-1"));
当然,您应该使用符合您需求的编码(也许Charset.defaultCharset()
可以使用)。