Avatar billede mickni33 Nybegynder
13. april 2007 - 11:37 Der er 5 kommentarer og
1 løsning

udvælge bestemte childnoder i xml docu

Hvordan udvælger childnoder fra en bestemt attribut?
f.eks.
hvordan udvælger piller jeg <Analyzer> name og link noderne ud fra Group1 uden at have <Analyzer> noderne med fra Group2

dette gør jeg nu:
XmlNodeList list=doc.GetElementsByTagName ("Analyzer");
men det tager bare alle <Analyzer> i hele documentet

jeg mangler noget ?
:-)

- <QCManagerstatus>
- <AnalyzerGroup>
  <AnalyzerGroupName>Group 1</AnalyzerGroupName>
  <Link>http://rime/QCManager/Group 1</Link>
    - <Analyzer>
      <Name>Eggers</Name>
      <Link>http://rime/QCManager/Eggers</Link>
      </Analyzer>
  </AnalyzerGroup>

- <AnalyzerGroup>
  <AnalyzerGroupName>Group 2</AnalyzerGroupName>
  <Link>http://rime/QCManager/Group 2</Link>
    - <Analyzer>
      <Name>ABL555</Name>
      <Link>http://rime/QCManager/ABL555</Link>
      </Analyzer>
  </AnalyzerGroup>
  </QCManagerstatus>
Avatar billede kalp Novice
13. april 2007 - 11:40 #1
du kan sagtens gøre det som du har bygget det op nu, men det bare grimt.

hvis din sql laves sådan her

- <QCManagerstatus>
- <AnalyzerGroup group="1">
  <Link>http://rime/QCManager/Group 1</Link>
    - <Analyzer>
      <Name>Eggers</Name>
      <Link>http://rime/QCManager/Eggers</Link>
  </AnalyzerGroup>

- <AnalyzerGroup group="2">
  <Link>http://rime/QCManager/Group 2</Link>
    - <Analyzer>
      <Name>ABL555</Name>
      <Link>http://rime/QCManager/ABL555</Link>
  </AnalyzerGroup>
  </QCManagerstatus>


så kan du nemt trække den ønskede ud med en xpath
Avatar billede kalp Novice
13. april 2007 - 11:42 #2
f.eks

XmlDocument document = new XmlDocument();
document.Load("stien til din xml");
//eller document.LoadXml(" xml direkte her");
XmlNode group = document.SelectSingleNode("//AnalyzerGroup[@group = '1']");

så burde du have gruppe et og dens node i "group" noden..

har ikke testet xpathen men det er ca. sådan.
Avatar billede mickni33 Nybegynder
13. april 2007 - 11:53 #3
hmm ok, kunne du vise hvordan min xml skal se ud hvis den skal være pæn :-)
Avatar billede mickni33 Nybegynder
13. april 2007 - 11:54 #4
aaahhh ok så ikke at du havde rettet :-)
takker
Avatar billede kalp Novice
13. april 2007 - 11:59 #5
den er pænere forstået på den måde at du ikke behøver løbe hele xml'en igennem i c# kode for at finde ud af om du har fat i den du skal bruge:)

som du kan se så får du fat i den interessante del med en linje;)
XmlNode group = document.SelectSingleNode("//AnalyzerGroup[@group = '1']");
Avatar billede mickni33 Nybegynder
13. april 2007 - 12:06 #6
ok hva hvis der f.eks er 5 Analyzere og jeg skal have alle 5 i Group1 noden
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