我从1C收到2个几乎相同的xml:
<КонтактнаяИнформацияxmlns =“ http://www.v8.1c.ru/ssl/contactinfo” xmlns:xs =“ http://www.w3.org/2001/XMLSchema” xmlns:xsi =“ http:// www .w3.org / 2001 / XMLSchema-instance“Представление=”улица,дом№дом,корпускорпус,квартиракв,город,23505“>
<Комментарий> 123
<Составxsi:type =“Адрес”Страна=“Украина”>
<Составxsi:type =“АдресУкраина”>
<НаселПункт>город
<Улица>улица
<ДопАдрЭл>
<НомерТип=“ 2010”Значение=“кв” />
<ДопАдрЭл>
<НомерТип=“ 1050”Значение=“корпус” />
<ДопАдрЭл>
<НомерТип=“ 1010”Значение=“дом” />
<ДопАдрЭлТипАдрЭл=“ 10100000”Значение=“ 23505” />
<КонтактнаяИнформацияxmlns =“ http://www.v8.1c.ru/ssl/contactinfo” xmlns:xs =“ http://www.w3.org/2001/XMLSchema” xmlns:xsi =“ http:// www .w3.org / 2001 / XMLSchema-instance“Представление=”АНГОЛА,iuherf ihieh eruh iheruhopropr koerpf kpreko“>
<Комментарий> egrw 34t34t 43t
<Составxsi:type =“Адрес”Страна=“АНГОЛА”>
<Составxsi:type =“ xs:string”> iuherf ihieh eruh iheruhopropr koerpf kpreko
我想将它们反序列化为C#对象,所以我创建了一些类:
[XmlRoot("КонтактнаяИнформация", Namespace = "http://www.v8.1c.ru/ssl/contactinfo", IsNullable = false)]
public class SuContactInfo
{
[XmlAttribute("Представление", Namespace = "http://www.v8.1c.ru/ssl/contactinfo")]
public string View { get; set; }
[XmlElement("Комментарий", Namespace = "http://www.v8.1c.ru/ssl/contactinfo")]
public string Comment { get; set; }
[XmlElement("Состав", Namespace = "http://www.v8.1c.ru/ssl/contactinfo")]
public SuBaseAddress Composition { get; set; }
}
[XmlType("Адрес", Namespace = "http://www.v8.1c.ru/ssl/contactinfo")]
[XmlRoot("Адрес", Namespace = "http://www.v8.1c.ru/ssl/contactinfo")]
public class SuXmlExternalComposition : SuBaseAddress
{
[XmlElement("Состав", Namespace = "http://www.v8.1c.ru/ssl/contactinfo")]
public SuBaseAddress InternalComposition { get; set; }
[XmlAttribute("Страна", Namespace = "http://www.v8.1c.ru/ssl/contactinfo")]
public string Country { get; set; }
}
[XmlType("АдресУкраина", Namespace = "http://www.v8.1c.ru/ssl/contactinfo")]
[XmlRoot("АдресУкраина", Namespace = "http://www.v8.1c.ru/ssl/contactinfo")]
public class SuXmlInternalComposition : SuBaseAddress
{
[XmlElement("ДопАдрЭл", Namespace = "http://www.v8.1c.ru/ssl/contactinfo")]
public SuXmlAdditionalAddressElement[] AdditionalAddressElement { get; set; }
[XmlElement("НаселПункт", Namespace = "http://www.v8.1c.ru/ssl/contactinfo")]
public string City { get; set; }
[XmlElement("Улица", Namespace = "http://www.v8.1c.ru/ssl/contactinfo")]
public string Street { get; set; }
}
[XmlRoot(Namespace = "http://www.v8.1c.ru/ssl/contactinfo")]
public class SuXmlAdditionalAddressElement
{
[XmlElement("ДопАдрЭл", Namespace = "http://www.v8.1c.ru/ssl/contactinfo")]
public SuXmlNumber Number { get; set; }
[XmlAttribute("ТипАдрЭл", Namespace = "http://www.v8.1c.ru/ssl/contactinfo")]
public string AddressTypeElement { get; set; }
[XmlAttribute("Значение", Namespace = "http://www.v8.1c.ru/ssl/contactinfo")]
public string Value { get; set; }
}
[XmlRoot(Namespace = "http://www.v8.1c.ru/ssl/contactinfo")]
public class SuXmlNumber
{
[XmlAttribute("Тип", Namespace = "http://www.v8.1c.ru/ssl/contactinfo")]
public string Type { get; set; }
[XmlAttribute("Значение", Namespace = "http://www.v8.1c.ru/ssl/contactinfo")]
public string SuValue { get; set; }
}
[XmlInclude(typeof(SuXmlExternalComposition))]
[XmlInclude(typeof(SuXmlInternalComposition))]
[XmlInclude(typeof(SuStringAddress))]
[XmlType("Состав", Namespace = "http://www.v8.1c.ru/ssl/contactinfo")]
[XmlRoot("Состав", Namespace = "http://www.v8.1c.ru/ssl/contactinfo", IsNullable = false)]
public abstract class SuBaseAddress { }
[XmlType("string", Namespace = "http://www.v8.1c.ru/ssl/contactinfo")]
[XmlRoot("string", Namespace = "http://www.v8.1c.ru/ssl/contactinfo", IsNullable = false)]
public class SuStringAddress : SuBaseAddress
{
[XmlText]
public string CommaSeparatedAddress { get; set; }
}
出现运行时错误
"Указанный тип не был распознан: имя="string", пространство имен="http://www.w3.org/2001/XMLSchema""
有人可以帮助我了解错误的出处吗?