J'essaie de désérialiser le nœud XML suivant (RDF en fait) dans une classe.Problème de désérialisation XML (attribut avec un espace de noms)
<rdf:Description rdf:about="http://d.opencalais.com/genericHasher-1/dae360d4-25f1-34a7-9c70-d5f7e4cfe175">
<rdf:type rdf:resource="http://s.opencalais.com/1/type/em/e/Country"/>
<c:name>Egypt</c:name>
</rdf:Description>
[Serializable]
[XmlRoot(Namespace = "http://www.w3.org/1999/02/22-rdf-syntax-ns#", ElementName = "Description")]
public class BasicEntity
{
[XmlElement(Namespace = "http://s.opencalais.com/1/pred/", ElementName = "name")]
public string Name { get; set; }
[XmlAttribute("about", Namespace = "http://www.w3.org/1999/02/22-rdf-syntax-ns#")]
public string Uri { get; set; }
}
L'élément name est analysé correctement mais l'attribut about ne l'est pas. Qu'est-ce que je fais mal?
Pas une région que je connais rien, mais il semble étrange que vous avez rdf: about = "http://d.opencalais.com/genericHasher-1/dae360d4-25f1-34a7-9c70-d5f7e4cfe175 "dans le XML mais XmlAttribute (" about ", Namespace =" http://www.w3.org/1999/02/22-rdf-syntax-ns# ")] dans la classe. Est-ce vraiment correct? –
Oui. Le contenu de l'attribut rdf: about est ce que je veux et l'espace de noms est tel qu'il apparaît dans le code. – Johnny