- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
jaxb @XmlIDREF @XmlID 工作惊人
我的 xml 输入是
<dept>
<courses>
<course id="1" units="4" level="UNDERGRAD" name="Fundamentals of Programming"/>
<course id="2" units="3" level="UNDERGRAD" name="Advanced Programming">
<pre>1</pre>
</course>
<course id="3" units="3" level="UNDERGRAD" name="Discrete Mathematics">
<pre>1</pre>
</course>
<course id="4" units="3" level="UNDERGRAD" name="Data Structures"/>
<course id="5" units="3" level="UNDERGRAD" name="Database Systems">
<pre>4</pre>
<pre>2</pre>
</course>
<course id="6" units="3" level="UNDERGRAD" name="Internet Engineering">
<pre>4</pre>
<pre>2</pre>
<co>5</co>
</course>
<course id="7" units="3" level="GRAD" name="Formal Methods"/>
<course id="8" units="3" level="GRAD" name="Advanced Networks"/>
<course id="9" units="3" level="UNDERGRAD" name="Fundamentals of Management"/>
<course id="10" units="3" level="UNDERGRAD" name="Fundamentals of IT"/>
<course id="11" units="3" level="UNDERGRAD" name="Multimedia"/>
<course id="12" units="3" level="UNDERGRAD" name="Network Security"/>
<course id="13" units="3" level="UNDERGRAD" name="Elearning"/>
</courses>
<profs>
<prof firstName="Ramtin" id="1"/>
<prof firstName="Ahmad" id="2"/>
<prof firstName="Hesham" id="3"/>
<prof firstName="Fatemeh" id="4"/>
<prof firstName="Mahmood" id="5"/>
<prof firstName="Mahmoudreza" id="6"/>
<prof firstName="Fattaneh" id="7"/>
<prof firstName="Azadeh" id="8"/>
<prof firstName="Siamak" id="9"/>
</profs>
<terms>
<term id="1">
<offering id="1" prof="6" course="1" section="1" time="1" capacity="10"/>
<offering id="2" prof="1" course="2" section="1" time="1" capacity="10"/>
<offering id="3" prof="9" course="3" section="1" time="2" capacity="10"/>
<offering id="4" prof="3" course="4" section="1" time="3" capacity="10"/>
<offering id="5" prof="1" course="7" section="1" time="6" capacity="10"/>
</term>
<term>
<offering id="6" prof="1" course="2" section="1" time="5" capacity="10"/>
<offering id="7" prof="9" course="3" section="1" time="6" capacity="10"/>
<offering id="8" prof="4" course="8" section="1" time="6" capacity="10"/>
<offering id="9" prof="2" course="1" section="1" time="1" capacity="10"/>
</term>
</terms>
<students>
<student firstName="Gholam" lastName="Patoobaf" program="1" id="810190420">
<studyrec grade="9.0" offering="1" status="FAILED"/>
<studyrec grade="0.0" offering="9" status="INPROGRESS"/>
</student>
<student firstName="Ghamar" lastName="Aghrabparast" program="1" id="810190421">
<studyrec grade="16.0" offering="1" status="PASSED"/>
<studyrec grade="0.0" offering="6" status="INPROGRESS"/>
<studyrec grade="0.0" offering="7" status="INPROGRESS"/>
</student>
</students>
</dept>
我的元素 java 类:offering
import javax.xml.bind.annotation.*;
@XmlAccessorType(XmlAccessType.FIELD)
public class Offering {
@XmlAttribute
@XmlID
private String id;
@XmlAttribute
@XmlIDREF
private Prof prof;
@XmlAttribute
@XmlIDREF
private Course course;
@XmlAttribute
private String section;
@XmlAttribute
private String time;
@XmlAttribute
private int capacity;
public void setCapacity(int capacity) {
this.capacity = capacity;
}
public int getCapacity() {
return capacity;
}
public void setCourse(Course course) {
this.course = course;
}
public Course getCourse() {
return course;
}
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public void setProf(Prof prof) {
this.prof = prof;
}
public Prof getProf() {
return prof;
}
public void setSection(String section) {
this.section = section;
}
public String getSection() {
return section;
}
public void setTime(String time) {
this.time = time;
}
public String getTime() {
return time;
}
@Override
public boolean equals(Object t) {
if (t instanceof Offering) {
if(((Offering)t).getId().equals(this.id)) {
return true;
}
}
return false;
}
}
我的元素 java 类:Prof
import javax.xml.bind.annotation.*;
@XmlAccessorType(XmlAccessType.FIELD)
public class Prof {
@XmlAttribute
private String firstName;
@XmlAttribute
@XmlID
private String id;
public void setId(String id) {
this.id = id;
}
public void setFirstname(String firstname) {
this.firstName = firstname;
}
public String getFirstname() {
return firstName;
}
public String getId() {
return id;
}
}
所以如果我简单地加载输入文件并将其保存到另一个文件我惊奇地看到这个:在提供 prof id 小于 6 的元素时,prog 属性不显示并且在 java 上下文中为 null但是 prof id 为 6 或更多的产品正确地具有 prof 属性
此事件也发生在既定类(class)的类(class)属性上,但针对的是 9 而不是 6正如您在下面看到我的部分输出:
...
<offering id="1" prof="6" section="1" time="1" capacity="10"/>
<offering id="2" section="1" time="1" capacity="10"/>
<offering id="3" prof="9" section="1" time="2" capacity="10"/>
<offering id="4" section="1" time="3" capacity="10"/>
<offering id="5" section="1" time="6" capacity="10"/>
...
它没有规则,例如 jaxb 适用于此输入 xml,而不仅仅是 id 大于 6:
<offering id="1" prof="3" course="1" section="1" time="1" capacity="10"/>
<offering id="2" prof="3" course="2" section="1" time="1" capacity="10"/>
<offering id="3" prof="9" course="3" section="1" time="2" capacity="10"/>
<offering id="4" prof="8" course="4" section="1" time="3" capacity="10"/>
<offering id="5" prof="6" course="7" section="1" time="6" capacity="10"/>
最佳答案
我的问题通过实现 IDResolver 解决了
关于java - jaxb @XmlIDREF @XmlID 工作惊人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15635318/
我有一个对象 (A),它具有另一个对象 (B) 的属性。当编码对象 A 时,我存储对对象 B 的引用。B 中的 ID 本身就是一个对象(Mongo ObjectId)。我已将 MongoId 对象包装
我有课 @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "customerOrder", propOrder = { "demand
我有一个相当复杂的数据结构,我似乎无法正确解码。 @XmlRootElement class Tree { @XmlID private String id; @XmlJavaTypeAd
我对 XML 很陌生,我遇到了一个无法解决的问题,在环顾了几个小时后,我决定发布我的问题。 我使用 @XmlIDREF 来获取 XML 文档中某些 Java 类的 XmlID。一切工作正常,但是当 J
我已经研究这个问题好几个小时了,可能很简单,但我不再明白了: 我有一个通过 jax-rs 呈现为 json 的实体 (Param)。该实体引用另一个实体(步骤)。在编写/读取 json 时,我不想看到
好的。我是 JAXB 新手,在 XmlID 和 XmlIDREF 方面遇到一些麻烦,其中 ID 位于抽象类中。 这是我的问题: 抽象类 @XmlAccessorType(XmlAccessType.F
jaxb @XmlIDREF @XmlID 工作惊人 我的 xml 输入是 1
本文整理了Java中org.apache.xmlbeans.XmlIDREF.set()方法的一些代码示例,展示了XmlIDREF.set()的具体用法。这些代码示例主要来源于Github/Stack
我有以下类(class): @XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) public class Employee {
我正在尝试使用 JAXB 整理一些数据。我的问题如下:我有一个类 Frame,其中包含信号图。 @XmlRootElement(name = "frame") @XmlAccessorType(Xml
我已经为我遇到的问题设置了一个最小的工作示例。这些是 JAXB 类。 moxytest/A.java package moxytest; @XmlRootElement public class A
我想知道是否可以注释我的类,以便编码器第一次遇到一个对象时,它会生成一个适当类型的 XML 元素,但是任何其他任何对该对象的后续引用都将具有一个 XML IDREF条目已创建? 最佳答案 您可以利用
我正在使用 jax-ws 编写 Web 服务。 Web 服务的方法之一返回 bean,其中包含对其父级的引用。为了防止循环引用,我在我的 bean 中使用了 JAXB @XMLID 和 @XMLIDR
我有以下 XML: RIGHT1 RIGHT_NOT_EXISTING 这里是映射: @XmlAccessorType(XmlAccessType.FIELD) publ
我正在尝试使用 MOXy JAXB 来序列化类 A,它看起来像: @XmlAccessorType(XmlAccessType.NONE) @XmlRootElement public class A
我正在使用 CXF 公开 Web 服务。我使用 @XmlID 和 @XmlIDREF JAXB 注释来在编码/解码期间维护对象图的引用完整性。 WSDL 正确地包含具有 xs:id 和 xs:idre
您好,我在使用网络服务时遇到问题我有一个包含许多角色的用户对象。 当我从包含一个角色的网络服务中获取一个用户(Id:3)时,该角色包含许多用户(id:3和id 2)。我收到一个错误 由以下原因引起:j
更新 - 查看底部的编辑 IDRefs/keyrefs 似乎在 JAXB 注释中是可能的,但 ref 最终成为元素文本。 我希望 ref 是元素的属性。 例如,给定这个对象模型: @XmlType p
我想知道是否可以对我的类进行注释,以便编码器第一次遇到对象时,它会生成适当类型的 XML 元素,但任何其他对该对象的后续引用都将具有 XML IDREF条目已创建? 最佳答案 您可以利用 JAXB 的
我有这样两个实体: @XmlRootElement(name = "provider") @XmlAccessorType(XmlAccessType.PROPERTY) @Entity pub
我是一名优秀的程序员,十分优秀!