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

使用JAXB提取frm XML文件中的值

方权
2023-03-14

我正在使用JAXB操作XML文件中的数据,并将这些值插入到数据库中。我有一个从特定的XML标记中提取数据的问题。这个XML标记包含字母数字值,但大约95%(如果不是99%)的时候,它包含的值是整数。因此,我将这些值视为字符串

<reference>12345</reference>
<xs:element name="reference" type="xs:string" />
<reference>012345</reference>
<reference>0012345</reference>

提取这些引用的值会删除前导零,从而将12345作为结果值。我不明白为什么。我觉得JAXB将这些值视为整数。

我怎样才能得到正确的价值呢?

编辑:

下面是相应的POJO@XMLAccessorType(XMLAccessStype.Field)@XMLType(name=“”,Propeder={“ReferenceOrDescriptionOrenseignes”})公共静态类程序{

@XmlElementRefs({

    @XmlElementRef(name = "reference", type = JAXBElement.class, required = false),
    /** other @XmlElementRef  */
})
protected List<JAXBElement<?>> referenceOrDescriptionOrEnseignes;

有趣的是,在上述变量的get方法中,JAXB指定了允许到列表的对象。只允许string和JAXB使用XSD文件创建的其他POJO对象。不允许提及整数

/**
 * Gets the value of the referenceOrDescriptionOrEnseignes property.
 * 
 * <p>
 * This accessor method returns a reference to the live list,
 * not a snapshot. Therefore any modification you make to the
 * returned list will be present inside the JAXB object.
 * This is why there is not a <CODE>set</CODE> method for the referenceOrDescriptionOrEnseignes property.
 * 
 * <p>
 * For example, to add a new item, do as follows:
 * <pre>
 *    getReferenceOrDescriptionOrEnseignes().add(newItem);
 * </pre>
 * 
 * 
 * <p>
 * Objects of the following type(s) are allowed in the list 
 * {@link JAXBElement }{@code <}{@link String }{@code >}
 *  ...
 *  ...
 *  ...
 */

public List<JAXBElement<?>> getReferenceOrDescriptionOrEnseignes() {
    if (referenceOrDescriptionOrEnseignes == null) {
        referenceOrDescriptionOrEnseignes = new ArrayList<JAXBElement<?>>();
    }
    return this.referenceOrDescriptionOrEnseignes;
}

共有1个答案

何哲
2023-03-14

请在插入数据库之前打印此值。

交叉检查你的POJO。

 类似资料:
  • 问题内容: 我想读取一个xml文件(如下所示),但是我得到了执行权。您能帮我解决这个问题吗? 这是我想要读取xml文件的代码: } 最后,这是我得到的异常: Env POJO类别: POJO类别: 问题答案: 您需要确保使用或将类与XML文档的根元素相关联(请参阅:http : //blog.bdoughan.com/2012/07/jaxb-and-root- elements.html )。或

  • 问题内容: 之前,我问了一个有关用Java提取RAR归档文件的问题,有人指出我指向JUnrar。官方网站已关闭,但由于我在网上发现了很多有关它的讨论,因此它似乎已被广泛使用。 有人可以告诉我如何使用JUnrar提取存档中的所有文件吗?我在网上找到了一个小片段,但似乎不起作用。它显示存档中的每个项目都是一个目录,即使它是一个文件。 谢谢。 问题答案: 可能您还应该检查此代码段代码。可以在下面找到其副

  • 因此,我一直在使用Python3.2和OpenPyXL的iterable工作簿,如这里的“优化阅读器”示例所示。 当我尝试使用此策略读取从简单文档中提取的一个或多个文件时,就会出现问题。zip存档(手动和通过python zipfile包)。当我调用我得到“A”和我得到1,当要求打印每个单元格的值时,如下所示: 它打印A1、A2、A3、A4、A5、A6和A7中的值,而不管文件实际有多大。文件本身没

  • 问题内容: 我想使用Python从HTML文件中提取文本。如果要从浏览器复制文本并将其粘贴到记事本中,我希望得到的输出基本上相同。 我想要比使用正则表达式更强大的功能,而正则表达式可能在格式不正确的HTML上失败。我见过很多人推荐美丽汤,但是使用它时遇到了一些问题。例如,它拾取了不需要的文本,例如JavaScript源。此外,它没有解释HTML实体。例如,我希望&#39; 在HTML源代码中转换为

  • 问题内容: 我正在寻找有关如何使用带有Python的PDFMiner从PDF文件提取文本的文档 或 示例。 看来PDFMiner更新了他们的API,我发现的所有相关示例都包含过时的代码(类和方法已更改)。我发现的那些使从PDF文件提取文本的任务更加容易的库正在使用旧的PDFMiner语法,因此我不确定如何执行此操作。 照原样,我只是在查看源代码,以查看是否可以解决。 问题答案: 这是一个使用当前版

  • 有两个WSDL,它们共享一些用于定义数据类型的模式。下面是其中一个WSDL的示例: 是常见的方案之一。 是否有一种方法可以将插曲文件与一起用于直接导入WSDL中的方案(就像在我的例子中)?