Je ne comprends pas. Je n'ai vraiment pas le ReadEndElement. Je suppose qu'après chaque ReadStartElement, vous devez fermer le lecteur à avancé à l'élément start suivant et s'il n'y a plus d'éléments start, fermez par ReadEndElement pour tous les autres éléments?'Element' est un XmlNodeType invalide
échantillon du XML retourné:
<Envelope>
<Body>
<RESULT>
<SUCCESS>true</SUCCESS>
<SESSIONID>dc302149861088513512481</SESSIONID>
<ENCODING>dc302149861088513512481
</ENCODING>
</RESULT>
</Body>
</Envelope>
reader.Read();
reader.ReadStartElement("Envelope");
reader.ReadStartElement("Body");
reader.ReadStartElement("RESULT");
reader.ReadStartElement("SUCCESS");
reader.ReadEndElement();
reader.ReadStartElement("SESSIONID");
_sessionID = reader.ReadString();
reader.ReadEndElement();
reader.ReadEndElement(); <-- error here
reader.ReadEndElement();
reader.ReadEndElement();
Je suis ignorant l'un des éléments (CODER) retuned, parce que je ne pas besoin ... pas sûr si cela n'a rien à voir avec elle. Peut-être que je suis obligé de lire chaque élément, peu importe si je veux l'utiliser ou non.
merci j'ai ajouté réellement dans l'élément manquant. Mais je ne peux juste pas comprendre le # de ReadEndElements dont j'ai besoin. On dirait que la dernière fois dans une autre classe j'avais besoin d'un ReadEndElement moins que le # de ReadStartElements ... presque comme si vous n'aviez pas besoin d'un ReadEndElement pour le premier ReadStartElement. – user72603
Je veux dire que j'ai regardé la définition sur MSDN qui est pauvre. Parce qu'il dit que ReadStartElement et ReadEndElement vous déplacent tous deux au nœud suivant. Je suppose cependant que par le simple nom de "ReadEndElement" il scelle l'élément actuel que vous lisez. Mais encore je reçois cette erreur même si – user72603
donc vous devez faire soit un lecteur.ReadString. Mais comme pour ReadEndElement, je suppose que vous devez avoir cela pour chaque ReadStartElement à sceller. – user72603