Extracting data from XML file

I have an xml file and would like to extract the data from it. How can I retrieve the “address details” on the second person (i.e. Paul Smith)?? Example code would be much appreciated, thanks…

<FirstName>John</FirstName>

<SurName>Wiliams</SurName>

<Address>

   <Street>123 My Street</Street>

   <Zip>0500</Zip>

</Address>
<FirstName>Paul</FirstName>

<SurName>Smith</SurName>

<Address>

   <Street>222 Alabama Street</Street>

   <Zip>0522</Zip>

</Address>

Subject: Extracting data from XML file

Here is a demo. I put your data in a string, not a file. You asked the same question in the Notes/Domino 4 and 5 forum. The method here is only for Notes/Domino 6.

Sub Click(Source As Button)
Const xml = {

John

Wiliams

123 My Street

0500

Paul

Smith

222 Alabama Street

0522

}

 Dim session As New NotesSession
 
 Dim xmlstream As NotesStream
 Set xmlstream = session.CreateStream
 xmlstream.WriteText xml
 
 Dim parser As NotesDOMParser
 Set parser = session.CreateDOMParser(xmlstream)
 parser.Process
 
 Dim people As NotesDOMNodeList
 Set people = parser.Document.GetElementsByTagName("Person")
 
 For i& = 1 To people.NumberOfEntries
      Dim person As NotesDOMElementNode
      Set person = people.GetItem(i&)
      
      Dim address As NotesDOMElementNode
      Set address = person.GetElementsByTagName("Address").GetItem(1)
      
      Dim street As NotesDOMElementNode
      Set street = address.GetElementsByTagName("Street").GetItem(1)
      
      Dim zip As NotesDOMElementNode
      Set zip = address.GetElementsByTagName("Zip").GetItem(1)
      
      Messagebox "Person #" & Cstr(i&) _
      & Chr$(10) & "Street: " & street.FirstChild.NodeValue _
      & Chr$(10) & "Zip: " & zip.FirstChild.NodeValue
 Next

End Sub

Subject: Thank you for your help, much appreciated :slight_smile: