我使用LiquidXML。我有一个XSD文件,这个XSD文件通过DataBinder工具创建了一个Visual Basic .Net项目。 现在我创建类并通过xxx.ToXML导出它们 到目前为止,创建的Xml字符串看起来很好。但是我得到了一些像这样的节点:
<pair>
<patient xs:type="Patient">
<id memberShipID="1"/>
<name>xxx </name>
</patient>
如何以这种方式创建导出,患者节点不包括xs:type =&#34; Patient&#34;的NodeType?
提前THX
答案 0 :(得分:1)
您需要在默认XmlSerializationContext中将WriteTypeAttribute设置为False:
VB .Net
LiquidTechnologies.Runtime.Net45.SerializationContext.Default.WriteTypeAttribute = False
<强> C#强>
LiquidTechnologies.Runtime.Net45.SerializationContext.Default.WriteTypeAttribute = false;
<强> C ++ 强>
LtXmlLib16::CSerializationContext::GetDefaultContext().SetWriteTypeAttribute(false);
<强>爪哇强>
com.liquid_technologies.ltxmllib16.SerializationContext.Default.setWriteTypeAttribute(false);
请注意生成器只为派生类型添加xsi:type。根据您的XML Schema,XML文档中可能需要存在xsi:type,以便解析器知道使用了哪个派生项。这在“Using the xsi:type Attribute”一文中有所描述。