unter anderen Daten, ich habe die folgenden XML mir gesendet:XML-Deklaration für die Deserialisierung
<jx:Agency xsi:type="nc:OrganizationType1">
<nc:OrganizationAbbreviationText>ABC</nc:OrganizationAbbreviationText>
</jx:Agency>
In meinem Code, ich habe Agentur erklärt wie folgt (ich habe auch die Klasse-Agentur mit einem einzigen XmlAttribute OrganizationAbbreviationText):
[XmlElement("Agency", Namespace = jx)]
public Agency Agency { get; set; }
Aber wenn ich deserialisieren versuchen, erhalte ich "der angegebene Typ nicht erkannt wurde: name = 'OrganizationType1'" zusammen mit dem Namespace = url
Kann jemand die Agentur in meiner Struktur richtig beschreiben?
Ich bin nicht die Struktur serialisiert ... die Datei an mich gesendet wird, und ich bin Deserialisieren es auf folgende Arten:
Document doc;
using (FileStream fs = new FileStream(pathName, FileMode.Open, FileAccess.Read, FileShare.Read))
{
XmlSerializer ser = new XmlSerializer(typeof(Document));
doc = (Document)ser.Deserialize(fs);
fs.Close();
}
Aus diesem Grund ist die XML-Datei in die richtig beschrieben werden muss, Dokumentenklasse
mho, Hier ist der Code für die Klasse Agentur:
[XmlElement(Namespace = jx)]
public class Agency
{
[XmlAttribute("OrganizationAbbreviationText", Namespace = nc)]
public string OrganizationAbbreviationText { get; set; }
}
Ich glaube OrganizationType1 nicht wirklich außer ins Spiel kommt, dass ich nicht kann deserialisieren die Datei, die ich ohne sie Adressierung gesendet wird zu werden. jx und nc sind konstante Zeichenfolgen, die URLs enthalten. Ich schätze Ihre Hilfe sehr. Offensichtlich
Dank
Welchen Serialisierer verwenden Sie? – BentOnCoding
XmlSerializer ser = neuer XmlSerializer (typeof (Document)); – user1277900
Poste bitte deinen Serialisierungscode. Sie sollten dieses Problem nicht haben, es sei denn, Sie versuchen speziell, dieses Attribut zu lesen. – BentOnCoding