java - jaxb设置字符串类型

标签 java xml xml-serialization jaxb

如何让 JAXB 编码字符串或原始数据类型并在生成的 XML 中设置 type="string"或 type="int"。我尝试为每个字段指定特定类型

@XmlSchemaType(name = "string",namespace = "http://www.w3.org/2001/XMLSchema",type = String.class)

但这并没有什么区别,结果 XML 没有类型。

感谢您的阅读

更新 这基本上就是我在 JaxB 类中的内容:

@XmlElement(required = true)
protected Keys keys;
protected String workflowID;
    protected String fromFigure;
    protected String fromPort;

这是生成的 XML

        <keys type="draw2d.ArrayList">
            <data type="Array">
                <element type="draw2d.FlowConnectionModel">
                    <workflowID>d8f71b92-dc69-4115-9095-d748265d4e68</workflowID>
                    <fromFigure>706531d9-cd03-4347-9ba2-d9b525035e0d</fromFigure>
                    <fromPort>out_right_initialState</fromPort>

请注意,有一个针对键、数据和元素类型的类型集,但没有针对工作流 ID、fromFigure 和 fromPort 的原始数据类型的类型集。我想要的是这样的:

        <keys type="draw2d.ArrayList">
            <data type="Array">
                <element type="draw2d.FlowConnectionModel">
                    <workflowID type="string">d8f71b92-dc69-4115-9095-d748265d4e68</workflowID>
                    <fromFigure type="string">706531d9-cd03-4347-9ba2-d9b525035e0d</fromFigure>
                    <fromPort type="string">out_right_initialState</fromPort>

最佳答案

您不会在生成的 XML 中看到任何差异。如果您从类中生成 XSD,您预计会看到 XSD 的差异。

关于java - jaxb设置字符串类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9398486/

相关文章:

java - 检查 XPath 版本

XML 序列化 "There is an error in XML document (2, 2)"的 C# 错误

c# - 有没有办法删除*仅* xmlns :xsd namespace when serializing a XML?

c# - 转换 XML 以使用较新版本进行反序列化

java - 如何将多个对象结果写入 Java 中的一个输出文本文件?

java - 在 fragment 中使用上下文

python - 在 python 中使用 networkx 处理 graphml 文件

c++ 将矩阵数据保存为文本或 XML(更好)

java - recyclerView 点击处理中的这是什么?

创建对象的 Java Call 类