Avatar billede Slettet bruger
28. april 2008 - 09:41 Der er 7 kommentarer og
1 løsning

Hvorfor kan XML-node ikke findes?

Hejsa!

Jeg har et problem. Følgende kode giver en NullReferenceException:

XmlDocument Xml = new XmlDocument();
Xml.Load("test.xml");
Xml.SelectSingleNode("root/@showcurrentnotes").Value


Hvor test.xml indeholder:

<?xml version="1.0" encoding="iso-8859-1"?>
<root showcurrentnotes="true">
</root>


Hvad er der galt?
Avatar billede Slettet bruger
28. april 2008 - 09:41 #1
Bemærk: Xml.SelectSingleNode("root/@showcurrentnotes").Value indgår i en større kontekst, hvor den ikke må være null.
Avatar billede jokkejensen Novice
28. april 2008 - 12:04 #2
SelectSingleNode er i min forstand ikke en attribut.
Avatar billede jokkejensen Novice
28. april 2008 - 12:04 #3
<root> er tom.
Avatar billede jokkejensen Novice
28. april 2008 - 12:07 #4
Altså noget ala: Xml.SelectSingleNode("root").Attributes["showcurrentnotes"].Value
Avatar billede aaberg Nybegynder
28. april 2008 - 12:27 #5
Til jokkejensen: Hvis xpath værdien peger på en attribut, som i dette tilfælde, vil SelectSingleNode returnere en XmlAttribute! Returtypen på SelectSingleNode er XmlNode som er superklasse for alle Xml typerne.

til hf2ke: Følgende virker helt fint når jeg tester det:

XmlDocument doc = new XmlDocument();

doc.LoadXml("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>" +
            "<root showcurrentnotes=\"true\">" +
            "</root>");

string nodeVal = doc.SelectSingleNode("root/@showcurrentnotes").Value;

nodeVal variablen bliver sat til "true".

Kontroller at din xml-fil faktisk bliver loadet!
Avatar billede Slettet bruger
28. april 2008 - 13:05 #6
Daaamn, aaberg. Tjekker jeg lige, når jeg får fri.
Avatar billede Slettet bruger
28. april 2008 - 20:02 #7
For pokker da også! Jeg glemte at kalde den metode, hvor alle forberedende ting (herunder load) foretages.
Gief svar, aaberg80 :P
Avatar billede aaberg Nybegynder
28. april 2008 - 21:22 #8
svar :-)
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