1

我使用 LiquidXML。我有一个 XSD 文件,这个 XSD 文件通过 DataBinder 工具创建了一个 Visual Basic .Net 项目。现在我创建类并通过 xxx.ToXML 导出它们。创建的 Xml 字符串到目前为止看起来不错。但我得到了一些这样的节点:

<pair>
            <patient xs:type="Patient">
                <id memberShipID="1"/>
                <name>xxx </name>
            </patient>

如何以这种方式创建导出,即患者节点不包含 xs:type="Patient" NodeType?

提前很多

4

1 回答 1

1

您需要在 Default 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,xsi:type 可能需要出现在 XML 文档中,以便解析器知道使用了哪个派生项。这在文章“使用 xsi:type 属性”中有描述。

于 2018-04-28T08:31:46.510 回答