Avatar billede Slettet bruger
05. juni 2008 - 11:42 Der er 7 kommentarer og
1 løsning

Tjekke om XML-attribute fildes

Hej eksperter,

Hvordan kan jeg tjekke, om en XML-attribute findes?

F.eks.: c -> d herunder
<a b="lol">
  <c d="kek" />
  <e f="bur" />
</a>

Jeg går ud fra, at den letteste måde, at tjekke hvorvidt en undertag findes er at sige:

MyXmlDocument.SelectNodes("a").Count > 0

Men denne metode kan vel ikke bruges til at tjekke attributes?
Avatar billede aaberg Nybegynder
05. juni 2008 - 12:30 #1
MyXmlDocument.SelectNodes("//c/@d").Count > 0;

Brug @ for at definere at det er en attribut du vil have fat i.
Avatar billede Slettet bruger
05. juni 2008 - 12:43 #2
Hm, ok... Makes sense :) Det med @ vidste jeg egentlig godt... Damn, jeg kan være dum xD
Avatar billede aaberg Nybegynder
05. juni 2008 - 12:50 #3
Du kan også få fat i attributterne ved at skrive:

MyXmlDocument.SelectSingleNode("//a").Attributes;

Så der er flere løsninger :-)
Avatar billede Slettet bruger
05. juni 2008 - 12:56 #4
Okay, nu har jeg prøvet med én stor exception handler i stedet, og det virker perfekt. Hvis ikke den finder de relevante emner i XML-dokumentet, gendefineres alting fra default og gemmes til filen.

Der er dog noget, jeg stadig har brug for at vide:
Hvordan tjekker man, om der findes en dekleration i et XML-dokument, og eventuelt hvad den er?
Avatar billede aaberg Nybegynder
05. juni 2008 - 13:53 #5
Den var lidt mere tricky!

Følgende tror jeg virker:

if (myXmlDocument.ChildNodes[0].GetType() == typeof(XmlDeclaration))
{
  //Deklerationen findes.
}
else
{
  //Deklerationen findes ikke.
}
Avatar billede Slettet bruger
05. juni 2008 - 14:11 #6
Mkay. Tjekker jeg lige om lidt... Du får lige points på forhånd :)
Avatar billede Slettet bruger
06. juni 2008 - 09:36 #7
Det virker :) Tak!
Avatar billede aaberg Nybegynder
06. juni 2008 - 10:27 #8
:-)
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