将 XML 文件导入 MS Project 时出错
Error importing XML file into MS Project
我已经使用 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));
可能是文件编码问题 - 两个文件(一个是生成的,一个是手动创建的)具有不同的编码。第一个不正确,第二个正确。
如果是这种情况,您应该使用正确的编码生成文件。你可以试试:
xmlOutput.output(doc, new OutputStreamWriter(new FileOutputStream(file), "ISO-8859-1"));
当然,您应该使用适合您需要的编码(也许 Charset.defaultCharset()
会起作用)。
我已经使用 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));
可能是文件编码问题 - 两个文件(一个是生成的,一个是手动创建的)具有不同的编码。第一个不正确,第二个正确。
如果是这种情况,您应该使用正确的编码生成文件。你可以试试:
xmlOutput.output(doc, new OutputStreamWriter(new FileOutputStream(file), "ISO-8859-1"));
当然,您应该使用适合您需要的编码(也许 Charset.defaultCharset()
会起作用)。