我正在开发一个项目,根据该项目,我必须从服务器获取原始文件并将其转换为XML文件。
java中是否有可用于帮助我完成此任务的工具,例如 JAXP 可用于解析XML文档?
答案 0 :(得分:1)
是。这假设原始文件中的文本已经是XML。
您从DocumentBuilderFactory
开始获取DocumentBuilder
,然后您可以使用其parse()
方法将输入流转换为Document
,这是一个内部XML表示。
如果原始文件包含XML之外的其他内容,您将需要以某种方式扫描它(此处是您自己的代码)并使用您从空Document
开始构建的内容。
然后,我通常使用Transformer
中的TransformerFactory
将Document
转换为文件中的XML文本,但可能有更简单的方法。
答案 1 :(得分:1)
我想你需要你的对象供以后使用,所以创建MyObject
将是一个bean,你将从Raw文件加载值,你可以将它写入someFile.xml
FileOutputStream os = new FileOutputStream("someFile.xml");
XMLEncoder encoder = new XMLEncoder(os);
MyObject p = new MyObject();
p.setFirstName("Mite");
encoder.writeObject(p);
encoder.close();
如果你不需要后面使用的对象,你可以选择TransformerFactory
。
答案 2 :(得分:1)
JAXP还可用于创建新的空文档:
Document dom = DocumentBuilderFactory.newInstance()
.newDocumentBuilder()
.newDocument();
然后您可以使用该文档创建元素,并根据需要附加它们:
Element root = dom.createElement("root");
dom.appendChild(root);
但是,正如Jørn在对您的问题的评论中指出的那样,这完全取决于您对此“原始”文件的处理方式:如何将其转换为XML。只有你知道。
答案 3 :(得分:0)
我认为如果你尝试在XmlDocument中加载它就没问题了