- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的问题:我需要在 XML 中显示 by 对象的名称标签,但没有可空属性:简而言之,如 <name/>
。这是该对象的代码。如果 name 为空,我会得到标签 <name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
,但是附加的属性可能会给客户端带来问题。
正如我所读到的,从语义上讲,以这种方式表示空值确实有意义(使用 @XmlElement(nillable=true)
)。
package com.mns.mnsutilities.jaxb.model;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
@XmlRootElement(name="Emp_MNS")
@XmlType(propOrder= {"name", "age", "role", "gender", "addressesList"})
public class Employee {
private int id;
private String gender;
private int age;
private String name;
private String role;
private String password;
private List<Address> addressesList;
public Employee() {}
public Employee(int id, String gender, int age, String name, String role,
String password) {
super();
this.id = id;
this.gender = gender;
this.age = age;
this.name = name;
this.role = role;
this.password = password;
}
public Employee(int id, String gender, int age, String name, String role,
String password, List<Address> addressesList) {
super();
this.id = id;
this.gender = gender;
this.age = age;
this.name = name;
this.role = role;
this.password = password;
this.addressesList = addressesList;
}
@XmlAttribute
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@XmlElement(name = "gen", nillable=true)
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@XmlElement(nillable=true)
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getRole() {
return role;
}
public void setRole(String role) {
this.role = role;
}
@XmlTransient
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@XmlElementWrapper( name="addresses" )
@XmlElement(name = "address")
public List<Address> getAddressesList() {
if(addressesList == null){
addressesList = new ArrayList<>();
}
return addressesList;
}
public void setAddressesList(List<Address> addressesList) {
this.addressesList = addressesList;
}
@Override
public String toString() {
return "Employee [id=" + id + ", gender=" + gender + ", age=" + age
+ ", name=" + name + ", role=" + role + ", password="
+ password + ", addressesList=" + addressesList + "]";
}
}
最佳答案
扩展 Ian Roberts 的评论,您可以利用字段访问并使属性将 ""
字段值视为 null。
@XmlRootElement(name="Emp_MNS")
@XmlAccessorType(XmlAccessType.FIELD)
public class Employee {
private String name = "";
public String getName() {
if(name.length() == 0) {
return null;
}
return name;
}
public void setName(String name) {
if(null == name) {
this.name = "";
} else {
this.name = name;
}
}
关于java - JAXB - 防止可空属性 xmlns :xsi ="http://www.w3.org/2001/XMLSchema-instance" xsi:nil ="true",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23085787/
我的 cxf 依赖项有问题。我正在处理一个非常庞大的项目,并且有很多依赖项。 我的问题是 xmlschema 和 xmlschema-core 依赖项。我的 pom 文件中没有旧版本的依赖项,但我收到
我对xml命名空间有几个疑问,我将用这三段代码来解释: 1 - 非常简单的 XML 模式: 2 - 使用新创建的 xml 架构的 XML: Sch
我正在编写一个代码,它试图读取一堆 xsd 文件并在 XmlSchemaSet 中编译模式。 问题是这些 xsd 文件来自不同的来源,它们可能有多次声明的元素/类型,我应该删除它们,否则 XmlSch
我想创建以下 XML,其中在“ServiceAddRQ”以及“Service”标签中具有 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 。
我正在尝试使用 JAXB 生成 sitemap.xml,并且位置属性被忽略(我想在根元素上生成 xsi:schemaLocation 属性)。 我想生成一个 xml,如下所示:
我编写了一个 XMLSchema,如下所示。这个想法是 baseContainer 只允许一些标签,而 fullContainer 允许 baseContainer 中的所有标签+一些其他标签。标签可
有人可以向我解释这个问题吗? Are the type system represented by XmlSchema and the CLS isomorphic? Link 最佳答案 意味着 XM
我正在尝试使用 WSDL2Java 生成 Java 类。我运行最简单的示例并出现错误。 $ jar tvf XmlSchema-1.4.7.jar | grep org/apache/ws/commo
我正在使用 Apache 的 java XMLSchema 中的库。我创建一个新对象 XmlSchemaElement 并按以下方式设置属性 minOccurs、maxOccurs 和 nillabl
我正在尝试使用 XmlSchema.Read 加载 xsd 文件。它运行没有错误,我可以看到它从文件中读取命名空间,但我无法从 xsd 文件中读取任何其他数据。 这是我的代码: public XmlS
我创建了一个模式定义,其开头如下 ... My annotation 然后我加载架构并编译它: System.Xml.Schema.XmlSchemaSet set = new
我有一个引用和元素 xs:schema 的 XSD 文件。当我运行连接到 Internet 的 xjc 时,它会创建适当的 JAXB 对象。当我尝试将 XMLSchema.xsd 作为本地文件引用时,
我使用以下 XmlSchema: 它定义了一个必须至少有
我无法在 xml 文件中显示在包级别使用 @xmlSchema 注释配置的所有参数。例如,如果我设置: @javax.xml.bind.annotation.XmlSchema (
我维护 JDOM project我正在尝试在 Android 上“认证”它。大多数事情都可以正常工作,但 XML Schema 验证被证明是有问题的...... 我的问题是:有没有办法在 Androi
我有一个 .xsd 文件作为资源存储在我的 vb.net 项目中。我需要使用此资源创建 XmlSchema 类的实例。我可以找到的任何创建 XmlSchema 的示例执行以下操作之一: 通过手动添加元
我正在使用 eclipselink-2.3.2。我的包有注释: @XmlSchema(namespace = "http://example.com/namespace", elementFormDe
我正在将一些类属性写入 XmlSchema现在我想在 中写类型. 是否有一些映射类所以我不必自己编写 switch-case ? public class Foo { public stri
我想允许在我的 XMLSchema 的某些元素中使用 xml:lang 属性。但我找不到任何描述如何做到这一点的内容。 最佳答案 您必须进行一些搜索才能根据标准将其拼凑起来。这是您在 XML 元素上允
本文整理了Java中com.sun.msv.verifier.regexp.xmlschema.XSREDocDecl类的一些代码示例,展示了XSREDocDecl类的具体用法。这些代码示例主要来源于
我是一名优秀的程序员,十分优秀!