Avatar billede lasserasch Juniormester
26. april 2007 - 09:02 Der er 1 løsning

Læsning af XML med Xmldocument fejler

Hejsa.

Jeg læser en XML streng sådan her :

<MATCHXML>
<MATCH>
<PLAYER><FNAME>Lasse</FNAME><LNAME>Rasch</LNAME></PLAYER>
<PLAYER><FNAME>Henrik</FNAME><LNAME>Jensen</LNAME></PLAYER>
<PLAYER><FNAME></FNAME><LNAME></LNAME></PLAYER>
</MATCH>
<MATCH>
<PLAYER><FNAME>Lasse</FNAME><LNAME>Rasch</LNAME></PLAYER>
<PLAYER><FNAME>Henrik</FNAME><LNAME>Jensen</LNAME></PLAYER>
<PLAYER><FNAME></FNAME><LNAME></LNAME></PLAYER>
</MATCH>
</MATCHXML>

Fejlen opstår så hvis jeg forsøger følgende :

XmlDocument XmlR = new XmlDocument();
XmlR.LoadXml(XML);

XmlNodeList matchinfo = XmlR.GetElementsByTagName("MATCH");
foreach (XmlNode X in matchinfo)
{
fornavn.Text = X.ChildNodes[1].FirstChild.Value;
efternavn.Text = X.ChildNodes[2].FirstChild.Value;
}

Så længe der er en værdi at læse så går det fint. Men her går det galt :

<PLAYER><FNAME></FNAME><LNAME></LNAME></PLAYER>

Hvis jeg forsøger at læse når der ikke står noget mellem starttag og sluttag, så får jeg en null exception. Hvordan pokker undgår man det?

Har prøvet med følgende, som dog ikke virker :

if (X.ChildNodes[1].FirstChild.Value != null)
fornavn.Text = X.ChildNodes[1].FirstChild.Value;

Her fejler den på "if (X.ChildNodes[1].Fi..." og med en null exception.
Avatar billede lasserasch Juniormester
26. april 2007 - 09:08 #1
Glem det! Fejl 40....

if (X.ChildNodes[1].FirstChild.Value != null)
fornavn.Text = X.ChildNodes[1].FirstChild.Value;

skulle selvfølgelig være :

if (X.ChildNodes[1].FirstChild != null)
fornavn.Text = X.ChildNodes[1].FirstChild.Value;
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester