Avatar billede djondjoe Nybegynder
08. december 2003 - 17:34 Der er 3 kommentarer og
1 løsning

XML og XPath

Jeg forsøger at hente værdien ID fra en XML fil, der i en afkortet version ser således ud:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<Emessage xmlns="http...">
  <Envelope>
  <*forskelligværdi*>
      <sender>
          <ID>1234567</ID>
      </sender>
  </*forskelligværdi*>
  </Envelope>
</Emessage>

*forskelligværdi* betyder at jeg ikke ved hvad navn den har idet den skifter for hver XML fil jeg læser ind, så jeg tror, at jeg først skal finde ud af navnet ved at vælge Envelope og så noget i stil med nextsibling før jeg kan gå videre til ID i en XPath(???)

Indtil videre er jeg ca kommet så langt:

Public Function CheckXML(ffile As File) As Boolean
Set oXMLDOM = New DOMDocument40
oXMLDOM.async = False
oXMLDOM.Load(ffile.Path)

og har så prøvet alt muligt i debug feltet, men får fejl lige meget hvad jeg prøver af SelectNodes osv.
Nogen der kan give mig et hint i hvordan jeg kommer i gang?
Avatar billede kedde65 Praktikant
09. december 2003 - 08:00 #1
Dette er en måde at gøre det på. Her har jeg brugt MSXML Parser 5.0 fra MS, og sat en refenrence til det før det kunne virke.

Sub test()
    Dim xmlDoc As DOMDocument50
    Dim xmlNode As IXMLDOMNode
    Set xmlDoc = New DOMDocument50
   
    If xmlDoc.Load("c:\dok.xml") Then
        Set xmlNode = xmlDoc.ChildNodes(1).ChildNodes(0).ChildNodes(0).ChildNodes(0).ChildNodes(0)
        MsgBox xmlNode.Text
    End If
   
    Set xmlDoc = Nothing
End Sub

VH CK
Avatar billede djondjoe Nybegynder
09. december 2003 - 11:02 #2
Problemet er, at jeg ikke med sikkerhed ved, at den værdi er lige præcis der hver gang, men kun at den ligger lige efter *forskelligværdi*, så jeg skal finde den *forskelligværdi* og så <sender> (der kan også være tags før sender) og derefter <ID> inde i <sender>
Avatar billede djondjoe Nybegynder
09. december 2003 - 11:52 #3
Tænkte på en xpath i stil med denne: ".//Sender.ID". Forstår bare ikke helt hvorman man skriver det, samt får trukket værdien ud.
Avatar billede djondjoe Nybegynder
23. marts 2004 - 14:52 #4
Lukker
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
Kurser inden for grundlæggende programmering

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