当前位置: 首页 > 知识库问答 >
问题:

将XML文档转换为POJO

关玄裳
2023-03-14

我有一堆XML文档(源),需要将它们转换为具有不同结构(目标)的POJO。我的第一个明显的想法是使用JAXB和XSLT的组合。然而,在一些问题上,我不确定这是否合适。

  1. 我无法访问源的XSD。
  2. 我不需要目标作为XML结构,而只需要作为POJOs。

然后我想创建一个映射表,比如。

XPath to source XML element --> Target element

然而,这将导致大量“映射”代码,特别是在涉及复杂数据类型的情况下。

你对我如何实施这一点有什么建议吗?

共有2个答案

宗政颖逸
2023-03-14

如果您有一个代表性的XML文档,它显示了包含XML文档域的所有可能的子元素(例如,如果XML文档中有任何CHOICE元素,那么您有一个代表性的XML元素,它显示了所有可能的CHOICE路径),那么您可以只需使用像XML Spy这样的工具从代表性XML文件中逆向工程/推断模式,然后使用推断出的模式来驱动JAX-B。

祁鸿哲
2023-03-14

我建议使用JSON。

不必事先知道XML的结构。只需将XML吸入一个DOM对象或SAX流中,遍历它并吐出等效的JSON对象。XSLT也会很好地工作。

下面是关于如何将JSON文件加载到java对象的示例/讨论链接。

将json从文件加载到对象中

我怀疑在编程上,处理XML文档和处理JSON文档的工作量是一样的。

 类似资料:
  • 在下面的示例中,我们试图将XML数据转换为HTML

  • 我已经用iText创建了一个文档,我想把这个文档(保存为PDF文件)转换成一个图像。为此,我使用PDFBox,它需要一个PDDocument作为输入。我使用以下代码: 此时,我从已保存的文件中加载文档。但我希望在Java内部执行此操作。 所以我的问题是:如何将文档转换为PDDocument? 非常感谢任何帮助!

  • XML输入文件: XML输入文件转换为XML输出文件。将XML输入文件的firstName、middleName和lastName标签合并为XML Ouput文件的name标签,将XML输入文件的address1、address2、city、state和pincode标签合并为XML Ouput文件的address标签。 我几乎转换了代码,但我在这里与empId作斗争。我已经在XSLT文件中手动输

  • 问题内容: 我以这种方式将猫鼬文档作为json返回: 但是,还返回了user . proto。没有它我怎么能回来?我尝试了这个但没有用: 问题答案: 您也可以尝试mongoosejs的lean():

  • 问题内容: 将SQL数据库(例如1个表)转换为mongoDB文档的最佳方法是什么? 我想我可以使用C#驱动程序并实现一个循环,该循环选择表中的每一行并将其保存在Mongo中。但是,我正在寻找一种转换大量数据的更好方法。 问题答案: 司机的方式是FAR最直接的。导入/导出工具非常棒,但 前提 是您必须同时使用它们。如果您的表中包含日期,并且您尝试从数据库中导出并导入到mongo中,那么您将大吃一惊。

  • 问题内容: 我有一些需要用XML迷惑的HTML文件。我们正在使用这些HTML为应用程序提供内容,但是现在我们必须以XML形式提供这些内容。 HTML文件包含,表格,div,图像,p,b或强标签等。 我用谷歌搜索并找到了一些应用程序,但是我还无法实现。 您能否建议一种将这些文件内容转换为XML的方法? 问题答案: 我成功使用了命令行实用程序。在Linux上,我使用迅速安装了它。然后命令: 给了一个x