所以当我尝试使用 jaxb 从 java 类构建 xml 时遇到以下问题。
我的第一个标签需要是这样的:
<Entity Type=‘test-instance’>
Some xml
</Entity>
我需要第一个标签中写入一些内容,但最后一个标签只需要包含实体。
我创建了一个 claas 并添加了 name=Entity 的 @XMLRootElement 标签,并使用它我得到了正确的最后一个标签。如果我使用第一个标签和结束标签中的整个表达式,这对我没有帮助。
我使用 @XMLAttribute 添加了一个 String 变量,这样我就可以在 Entity 之后添加其他内容。问题是,如果我用值初始化变量,我将得到字符串双引号。例如
@XMLAttribute(name=“Type”)
String x = “test-instance”;
当我构建它时,它将显示:
<Entity Type=“test-instance”>
,带双引号,我只需要单引号。
如果在 xml 属性中使用我需要的完整描述,例如:
@XMLAttribute(name=“Type=‘test-instance’”)
String x;
这会工作得很好,但如果变量没有初始化,那么它不会添加任何东西,如果写类似 String x=“”;
然后我会得到:
<Entity Type=‘test-instance’=“”>
所以我无法删除来自我的字符串的引号。
我正在考虑对第一个实体标签进行硬编码,并在最后一个实体标签上以不同的方式关闭它,但找不到任何东西。
或者即使 String 未初始化,也可以设置 XMLAttribute 的另一个选项。我在 XMLElement 上看到一些类似“必需”的内容,但它不适用于 XMLAttribute,而且我不太确定它是否满足我的需要。
任何帮助将不胜感激。
Thanks