XML在Java中,如何显示@xmlelement aTribute java bean null作为空值xml(找到解



im在项目中工作。a有一个带有某些属性的Java bean。我用标签@xmlelement标记每个属性,例如:

@XmlElement(name="id", nillable = true)
private String test;

我放了这个"可nillable",它向我展示了标签,即使null true,但它在null是null

时向我显示了一条消息
<id xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>

但是当它为零时,我只想用标签显示一个空值,例如

<id></id>

我不知道该怎么做。我搜索了,但我找不到是如何的,这就是我要问的原因。

以及更多1件事,我可以生成没有属性的XML吗?因为我是我的XML,我必须生成Aloot空白标签,而没有内部,只有标签,我不想让Aloot属于Aloot,如果我不会使用它来显示标签

谢谢!

我使用

的导入和某些配置
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name="test")

---------解决方案---------------

嗨,伙计们,我找到了一个解决方案。我想分享是否有人陷入同一问题。您将班级的财产声明为空,类似字符串personname =";

他们不需要创建getters和setter,如果您不更改此值,而只想XML中的标签Apper

注意:对于这项工作,您必须使用@xmlaccessortype(xmlaccesstype.field)在您的课程中。谢谢大家。再见

有两种表示XML中null值的方法。

一个选项是所描述的xsi:nil。它只是为您的属性添加一个空标签,并将其注释为保留空值。如果您用nillable = true注释您的属性,则该表格由JAXB生成。

请注意,en空标签与带有空字符串的标签不同 - 但稍后会更多。

另一个选项根本不表示该属性。XML中的属性不会有标签。JAXB默认使用此方法,如果您不使用nillable = true注释Java代码,但是属性仍然具有null值。

就是这样。

现在,您想实现的目标。渲染 <id></id>基本上意味着您具有 id属性,该属性容纳空字符串。尽管当它等效于null值(例如Oracle的PL/SQL)时,您可能会找到一种语言,但显然它与Java中的null值相当。

此外,如果将id建模为Java Bean中的longint(或任何非弦乐类型),则解析器将无法将此类XML归为bean实例。

最新更新