将原始文件(二进制数据)转换为 XML 文件

发布于 2024-08-17 10:58:43 字数 120 浏览 5 评论 0原文

我正在开发一个项目,在该项目下我必须从服务器获取原始文件并将其转换为 XML 文件。

java中有没有可用的工具可以帮助我完成这项任务,例如可以使用JAXP来解析XML文档?

I'm working on a project under which i have to take a raw file from the server and convert it into XML file.

Is there any tool available in java which can help me to accomplish this task like JAXP can be used to parse the XML document ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

梦在深巷 2024-08-24 10:58:43

我想您将需要您的对象供以后使用,因此创建 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 如果您不需要这些对象供以后使用。

I guess you will need your objects for later use ,so create MyObject that will be some bean that you will load the values form your Raw File and you can write this to 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();

Or you con go with TransformerFactory if you don't need the objects for latter use.

病女 2024-08-24 10:58:43

是的。这假定原始文件中的文本已经是 XML。

您从 DocumentBuilderFactory 开始获取 DocumentBuilder,然后可以使用其 parse() 方法将输入流转换为 >Document,它是内部 XML 表示形式。

如果原始文件包含 XML 以外的内容,您需要以某种方式扫描它(此处为您自己的代码)并使用您找到的内容从空 Document 构建。

然后,我通常使用 TransformerFactory 中的 TransformerDocument 转换为文件中的 XML 文本,但可能有更简单的方法。

Yes. This assumes that the text in the raw file is already XML.

You start with the DocumentBuilderFactory to get a DocumentBuilder, and then you can use its parse() method to turn an input stream into a Document, which is an internal XML representation.

If the raw file contains something other than XML, you'll want to scan it somehow (your own code here) and use the stuff you find to build up from an empty Document.

I then usually use a Transformer from a TransformerFactory to convert the Document into XML text in a file, but there may be a simpler way.

一抹苦笑 2024-08-24 10:58:43

JAXP 还可以用于创建一个新的空文档:

    Document dom = DocumentBuilderFactory.newInstance()
                                         .newDocumentBuilder()
                                         .newDocument();

然后您可以使用该文档创建元素,并根据需要附加它们:

    Element root = dom.createElement("root");
    dom.appendChild(root);

但是,正如 Jørn 在对您的问题的评论中指出的那样,这一切取决于您想如何处理这个“原始”文件:如何将其转换为 XML。只有你知道这一点。

JAXP can also be used to create a new, empty document:

    Document dom = DocumentBuilderFactory.newInstance()
                                         .newDocumentBuilder()
                                         .newDocument();

Then you can use that Document to create elements, and append them as needed:

    Element root = dom.createElement("root");
    dom.appendChild(root);

But, as Jørn noted in a comment to your question, it all depends on what you want to do with this "raw" file: how should it be turned into XML. And only you know that.

倾城月光淡如水﹏ 2024-08-24 10:58:43

我认为如果您尝试将其加载到 XmlDocument 中,那就没问题了

I think if you try to load it in an XmlDocument this will be fine

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文