我正在处理一个项目,在该项目下我必须从服务器取出原始文件并将其转换为XML文件。将原始文件(二进制数据)转换为XML文件
java中是否有任何工具可以帮助我完成此任务,如JAXP可用于解析XML文档?
我正在处理一个项目,在该项目下我必须从服务器取出原始文件并将其转换为XML文件。将原始文件(二进制数据)转换为XML文件
java中是否有任何工具可以帮助我完成此任务,如JAXP可用于解析XML文档?
我想你会需要你以后使用的对象,以创建MyObject
,这将是一些豆,你将加载值形成的原始文件,你可以写这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
去,如果你不需要为后者使用的对象。
是的。这假设原始文件中的文本已经是XML。
你开始与DocumentBuilderFactory
得到DocumentBuilder
,然后你可以使用它的方法parse()
把输入流为Document
,这是一个内部的XML表示。
如果原始文件包含XML以外的内容,则需要以某种方式进行扫描(您自己的代码在这里),并使用您发现的内容从空的Document
中构建。
然后,我通常使用TransformerFactory
中的Transformer
将Document
转换为文件中的XML文本,但可能有一种更简单的方法。
我认为,如果你试图将其加载到一个XmlDocument这将是罚款
JAXP也可以用来创建一个新的空文件:
Document dom = DocumentBuilderFactory.newInstance()
.newDocumentBuilder()
.newDocument();
然后你就可以使用该文档创建元素,并追加并根据需要:
Element root = dom.createElement("root");
dom.appendChild(root);
但是,正如Jørn在对您的问题发表评论时注意到了,这完全取决于您想对这个“原始”文件做什么:它应该如何转换为XML。只有你知道这一点。
这真的取决于你的应用程序中的“原始文件”。 – 2010-01-06 13:37:59