Avatar billede donnib Nybegynder
22. september 2003 - 12:08 Der er 9 kommentarer og
1 løsning

XML, XmlNode fejl. Hjælp

private void ReadXML(XmlNode node, int level, string parentName)
{
string test;
switch ( node.NodeType )
    {
    case XmlNodeType.Element:
    {
      if(level > 2)
      {
      string fullName = (parentName == null ? node.Name : parentName + "." + node.Name);
      parentName = fullName;
   
         
          test = node.Attributes.Item(0).Value; //denne linje fejler
      }
                                }
          break;
        }
}
Avatar billede donnib Nybegynder
22. september 2003 - 12:11 #1
Ups glemte lige at fortælle hvad problemet er...hmmm.
Nå men denne lille kode kan jeg ikke få til at virke.
Linjen test = node.Attributes.Item(0).Value fejler. Hvis jeg laver en System.Console.Writeline så skriver den hvad indeholdet af attributen er men så fejler den. Hvorfor ?

Jeg har også prøvet sådan her. node.Attributes["Type"].Value og det gav det samme problem. Har jeg misset noget her ??

donnib
Avatar billede nielslbeck Nybegynder
22. september 2003 - 12:16 #2
Du skriver bare at den fejler, men hvad fejl får du helt præcist?
Avatar billede nielslbeck Nybegynder
22. september 2003 - 12:26 #3
Virker:

test = node.Attributes.Item(0).Value.ToString();

?
Avatar billede donnib Nybegynder
22. september 2003 - 12:28 #4
An unhandled exception of type 'System.NullReferenceException' occurred in ConsoleApplication3.exe

Additional information: Object reference not set to an instance of an object
Avatar billede donnib Nybegynder
22. september 2003 - 12:29 #5
jeg vil ikke mene den skal have ToString() fordi den er allerede string den værdi der står i et Value såvidt jeg ved.
Avatar billede nielslbeck Nybegynder
22. september 2003 - 12:31 #6
Nu tror jeg jeg er med... når du benytter Console.WriteLine så udskriver den indholdet og bagefter fejler den, ik'?
Avatar billede nielslbeck Nybegynder
22. september 2003 - 12:53 #7
Hvis den først udskriver noget og derefter fejler, må det jo være fordi du kalder ReadXML igen - og anden gang med en node som ikke har nogen attributter...

Hvis du har VS.NET ville det nok være en idé at prøve at debugge...
Avatar billede donnib Nybegynder
22. september 2003 - 12:59 #8
Det gør jeg...Jeg kalder ReadXML igen for hver node. Det kunne jo være det der skyldes. Kan man tjekke på en eller anden måde om noden har attributter og hvis den ikke har så skal den ikke skrive den ud.

donnib
Avatar billede nielslbeck Nybegynder
22. september 2003 - 13:01 #9
Det må være noget i stil med:
if (node.Attributes.Item.Count >= 0)
  test = node.Attributes.Item(0).Value;

Kan desværre ikke lige teste hvor jeg er nu, og bliver nødt til at løbe igen... er hjemme igen efter 17...
Avatar billede donnib Nybegynder
22. september 2003 - 13:03 #10
ok jeg må prøve mig frem. tak
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

IT-JOB