Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB.NET: [VB .NET] XML:n lukeminen

K_L [19.02.2008 15:20:20]

#

No nyt tuli ajatuskatkos...

Olen tehnyt joskus aikaa sitten XML:ää parsivan mokkulan.
Nyt pitäsi lisätä vielä yksi noodi luettavaksi, mutta ei tunnu onnistuvan.
XML:n generoituu eräästä toisesta softasta.

xml:

...
<systeemi xml_lang="fi">
 <instanssi>
  <polku ="järjestelmän asetukset">
   <kayttaja nimi="käyttäjät">
     <kayttaja nimi="kryhmä">
       <kayttaja nimi="Matti Meikäläinen" UID="1">
        <ryhma polku="oikeudet/ryhmat/ryhma1" />
        <ryhma polku="oikeudet/ryhmat/ryhma2" />
       </kayttaja>
     </kayttaja>
   </kayttaja>
  </polku>
 </instanssi>
</systeemi>

VB: koodi

xmlList = userXML.SelectNodes("/systeemi/instanssi/polku/kayttaja/kayttaja")
 For Each xmlNode In xmlList
  ' MsgBox(xmlNode.Name)
  'MsgBox(xmlNode.ChildNodes.Count)
  userGroup = xmlNode.GetAttribute("nimi")
  For Each xmlChild In xmlNode.ChildNodes
   'MsgBox(xmlChild.GetAttribute("nimi"))
   path = "/systeemi/instanssi/polku/kayttaja/kayttaja" & xmlNode.LocalName
   xmlGroupsNode = userXML.SelectNodes(path)
   userAccess = ""

   'tämän pitäisi lukea kaikki ryhmat käyttäjältä

   For Each xmlGroupsChild In xmlGroupsNode
    userAccess = userAccess & xmlGroupsChild.GetAttribute("polku") & ","
   Next

   excelLine = xmlChild.GetAttribute("UID") & "," & xmlChild.GetAttribute("Nimi") & ","  & userAccess
   excelWriter.WriteLine(excelLine)

   Next
Next

Nyt en ymmärrä, että miksei xmlGroupsNode:ssa ole yhtään XmlElementtiä?
Kun katsoo muuttujaa path, niin sen polku on oikein.

K_L [20.02.2008 08:06:15]

#

Nuku yön yli ja...

For Each xmlGroupsChild In xmlChild.ChildNodes
      userAccess = userAccess & xmlGroupsChild.GetAttribute("polku") & ","
Next

Se on sitä kun evottaa.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta