我正在做一个项目,我必须从服务器获取原始文件并将其转换为 XML 文件。
java中是否有任何工具可以帮助我完成这项任务,比如可以使用JAXP来解析XML文档?
我猜您将需要您的对象以供以后使用,因此请创建MyObject
一些 bean,您将从原始文件中加载值,您可以将其写入 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
如果您不需要这些对象供以后使用,您可以选择使用。
JAXP 也可用于创建新的空文档:
Document dom = DocumentBuilderFactory.newInstance()
.newDocumentBuilder()
.newDocument();
然后,您可以使用该 Document 创建元素,并根据需要附加它们:
Element root = dom.createElement("root");
dom.appendChild(root);
但是,正如Jørn在对您的问题的评论中指出的那样,这完全取决于您想对这个“原始”文件做什么:应该如何将它转换为 XML。只有你知道。
是的。这假定原始文件中的文本已经是 XML。
您从DocumentBuilderFactory
获取 a开始DocumentBuilder
,然后您可以使用它的parse()
方法将输入流转换为 a Document
,这是一种内部 XML 表示形式。
如果原始文件包含 XML 以外的其他内容,您需要以某种方式对其进行扫描(此处为您自己的代码)并使用您找到的内容从一个空的Document
.
然后我通常使用Transformer
from a将文件中的 XML 文本TransformerFactory
转换Document
为 XML 文本,但可能有更简单的方法。
我认为如果您尝试将其加载到 XmlDocument 中,这会很好