public ExportMembersMapping ( |
||
xmlMembersMapping | ||
exportEnclosingType | bool | |
return | void |
public void ExportMembersMapping(XmlMembersMapping xmlMembersMapping, bool exportEnclosingType)
{
xmlMembersMapping.CheckShallow();
MembersMapping mapping = (MembersMapping)xmlMembersMapping.Accessor.Mapping;
CheckScope(xmlMembersMapping.Scope);
if (mapping.HasWrapperElement && exportEnclosingType)
{
ExportElement(xmlMembersMapping.Accessor);
}
else
{
foreach (MemberMapping member in mapping.Members)
{
if (member.Attribute != null)
throw new InvalidOperationException(SR.Format(SR.XmlBareAttributeMember, member.Attribute.Name));
else if (member.Text != null)
throw new InvalidOperationException(SR.Format(SR.XmlBareTextMember, member.Text.Name));
else if (member.Elements == null || member.Elements.Length == 0)
continue;
if (member.TypeDesc.IsArrayLike && !(member.Elements[0].Mapping is ArrayMapping))
throw new InvalidOperationException(SR.Format(SR.XmlIllegalArrayElement, member.Elements[0].Name));
if (exportEnclosingType)
{
ExportElement(member.Elements[0]);
}
else
{
ExportMapping(member.Elements[0].Mapping, member.Elements[0].Namespace, member.Elements[0].Any);
}
}
}
ExportRootIfNecessary(xmlMembersMapping.Scope);
}
XmlSchemaExporter::ExportMembersMapping ( |
|
XmlSchemaExporter::ExportMembersMapping ( |
public void ExportXmlSerializable_NestedClassMapping () { XmlSchemas schemas = new XmlSchemas (); XmlReflectionMember xmlReflectionMember = new XmlReflectionMember (); XmlSchemaExporter xmlSchemaExporter = new XmlSchemaExporter (schemas); XmlReflectionImporter xmlReflectionImporter = new XmlReflectionImporter (); //Export mapping for DataSet1 class. xmlReflectionMember.MemberType = typeof (DataSet1); XmlMembersMapping xmlMembersMapping = xmlReflectionImporter.ImportMembersMapping ("DataSet1Response", "ResponseNamespace", new XmlReflectionMember [] { xmlReflectionMember }, true); xmlSchemaExporter.ExportMembersMapping (xmlMembersMapping); //Export mapping for nested of DataSet1 class. xmlReflectionMember.MemberType = typeof (DataSet1.DataTable1DataTable); xmlMembersMapping = xmlReflectionImporter.ImportMembersMapping ("DataTable1DataTableResponse", "ResponseNamespace", new XmlReflectionMember [] { xmlReflectionMember }, true); xmlSchemaExporter.ExportMembersMapping (xmlMembersMapping); }