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
NextNyt en ymmärrä, että miksei xmlGroupsNode:ssa ole yhtään XmlElementtiä?
Kun katsoo muuttujaa path, niin sen polku on oikein.
Nuku yön yli ja...
For Each xmlGroupsChild In xmlChild.ChildNodes
userAccess = userAccess & xmlGroupsChild.GetAttribute("polku") & ","
NextSe on sitä kun evottaa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.