如果假设它们相同,如何避免创建不同的对象实例?
这是xml文件:
<family>
<person>
<firstName>John</firstName>
<father>
<firstName>Gary</firstName>
</father>
<mother>
<firstName>Jane</firstName>
</mother>
</person>
<person>
<firstName>Philip</firstName>
<father>
<firstName>Franck</firstName>
</father>
<mother>
<firstName>Jane</firstName>
</mother>
</person>
</family>
父元素属于Person
类型。
我有两个人和同一个母亲,当我解组xml文件时,它会创建两个不同的Person类实例。有没有办法告诉他们应该是同一个对象?
答案 0 :(得分:1)
XML文件可以使用&#34;指针&#34;的等价物。就XML Schema而言,
<xsd:element name="name" type="xsd:ID"/> <!-- in Person-->
<xsd:element name="persref" type="xsd:IDREF"/> <!-- the "pointer" to a person -->
&#34;指针&#34;是Person字段的值,它必须是唯一的(因此单独一个人的名字通常是不够的)。而不是整个对象的编组只有一个&#34;指针&#34;价值被编组。完整的对象本身必须单独编组。
在您的情况下,这很简单,因为每个人只出现一次,只有一次作为家庭成员。你只需使用&#34; persref&#34;父亲和母亲的元素。 - 请参阅this tutorial(另请a second section)了解技术详情。