je tente de lire un fichier XML qui contient l'élément suivant:XmlSerializer lance InvalidOperationException en ayant un préfixe d'espace de noms dans l'attribut
<ho:CODED-TYPE ho:BASE-DATA-TYPE="A_UINT16" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="UNSIGNED">
Ma classe pour décrire ce nœud ressemble que:
public ref class FIBEXCodedType
{
public:
[XmlAttribute("ho:BASE-DATA-TYPE")]
property String^ BaseDataType;
[XmlAttribute("CATEGORY")]
property String^ Category;
[XmlAttribute("ENCODING")]
property String^ Encoding;
FIBEXCodedType(void);
};
Je reçois un InvalidOperationException de XmlSerializer.ctor en me disant:
"Ungültiges Namenszeichen dans 'ho: BASE-DATA-TYPE'." (ceci pourrait être traduit par "caractère invalide dans: 'ho: BASE-DATA-TYPE'").
J'ai essayé également les éléments suivants:
[XmlAttribute("BASE-DATA-TYPE", Namespace="http://www.asam.net/xml")]
property String^ BaseDataType;
Mais cela ne fonctionne pas non plus. Cette fois-ci sans le message d'erreur mais le test unitaire échoue en me disant que la propriété est toujours définie sur "null".
Je suis complètement coincé avec ça. Ainsi, toute aide est appréciée
merci à l'avance
EDIT: un peu plus XML
<?xml version="1.0" ?>
<fx:FIBEX xmlns:fx="http://www.asam.net/xml/fbx" xmlns:ho="http://www.asam.net/xml" xmlns:can="http://www.asam.net/xml/fbx/can" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="fibex4can.xsd" VERSION="3.1.0">
<fx:CODING ID="codingSpeed">
<ho:SHORT-NAME>CodingSpeed</ho:SHORT-NAME>
<ho:DESC>Coding for speed values within this system.</ho:DESC>
<ho:CODED-TYPE ho:BASE-DATA-TYPE="A_UINT16" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="UNSIGNED">
<ho:BIT-LENGTH>16</ho:BIT-LENGTH>
</ho:CODED-TYPE>
</fx:CODING>
Vous pariez sur des chevaux différents à la fois: http://social.msdn.microsoft.com/Forums/en/asmxandxml/thread/b07be6c7-6a86 -4a2f-be72-64972ff0b1ff ;-) – Abel
Ouais je sais :-(Difficile d'obtenir une réponse là-bas et ma barre de test de l'unité est toujours rouge, donc je suis effrayé hors de mon esprit :-( – yas4891