Connecting Tech Pros Worldwide Help | Site Map

Read contents of XML element

Philip Wagenaar
Guest
 
Posts: n/a
#1: Nov 21 '05
I have an XML document that looks like

<request>
<login>
<username>myuser</username>
<password>mypass</password>
</login>
</request>

How do I get the values of username and password into a string?

I know how to do this if there are multiple <login></login> parts:
im Files As New ArrayList
Dim nodelist As XmlNodeList
Dim node As XmlNode

nodelist = xmldoc.SelectNodes("/REQUEST/IMPORT/DOCUMENT/FIELD")
For Each node In nodelist
If node.Attributes.GetNamedItem("CODE").Value = "BASE64" Then
Dim Filename As String = node.Item("DATA").InnerText()
If File.Exists(Filename) Then
Files.Add(Filename)
End If
End If
Next

When I try:

Dim nodelist As XmlNodeList
Dim node As XmlNode
node = xmldoc.SelectSingleNode("/REQUEST/LOGIN")


Dim login() As String
nodelist = xmldoc.SelectNodes("/REQUEST/LOGIN")

login(0) = node.Item("USERNAME").Value
login(1) = node.Item("PASSWORD").Value

node.item("USERNAME").value and node.item("PASSWORD").value are nothig and
I get a null reference error.


JohnFol
Guest
 
Posts: n/a
#2: Nov 21 '05

re: Read contents of XML element


It's case sensitive, so try lower case to match the xml.

"Philip Wagenaar" <philip.wagenaar@online.nospam> wrote in message
news:65CE4C30-C361-4297-83CF-E59A0986C2C7@microsoft.com...[color=blue]
>I have an XML document that looks like
>
> <request>
> <login>
> <username>myuser</username>
> <password>mypass</password>
> </login>
> </request>
>
> How do I get the values of username and password into a string?
>
> I know how to do this if there are multiple <login></login> parts:
> im Files As New ArrayList
> Dim nodelist As XmlNodeList
> Dim node As XmlNode
>
> nodelist = xmldoc.SelectNodes("/REQUEST/IMPORT/DOCUMENT/FIELD")
> For Each node In nodelist
> If node.Attributes.GetNamedItem("CODE").Value = "BASE64" Then
> Dim Filename As String = node.Item("DATA").InnerText()
> If File.Exists(Filename) Then
> Files.Add(Filename)
> End If
> End If
> Next
>
> When I try:
>
> Dim nodelist As XmlNodeList
> Dim node As XmlNode
> node = xmldoc.SelectSingleNode("/REQUEST/LOGIN")
>
>
> Dim login() As String
> nodelist = xmldoc.SelectNodes("/REQUEST/LOGIN")
>
> login(0) = node.Item("USERNAME").Value
> login(1) = node.Item("PASSWORD").Value
>
> node.item("USERNAME").value and node.item("PASSWORD").value are nothig
> and
> I get a null reference error.
>
>[/color]


Philip Wagenaar
Guest
 
Posts: n/a
#3: Nov 21 '05

re: Read contents of XML element


Sorry, everything should be in UPPERCASE, so it is not uppercase, lowercase
problem

"JohnFol" wrote:
[color=blue]
> It's case sensitive, so try lower case to match the xml.
>
> "Philip Wagenaar" <philip.wagenaar@online.nospam> wrote in message
> news:65CE4C30-C361-4297-83CF-E59A0986C2C7@microsoft.com...[color=green]
> >I have an XML document that looks like
> >
> > <request>
> > <login>
> > <username>myuser</username>
> > <password>mypass</password>
> > </login>
> > </request>
> >
> > How do I get the values of username and password into a string?
> >
> > I know how to do this if there are multiple <login></login> parts:
> > im Files As New ArrayList
> > Dim nodelist As XmlNodeList
> > Dim node As XmlNode
> >
> > nodelist = xmldoc.SelectNodes("/REQUEST/IMPORT/DOCUMENT/FIELD")
> > For Each node In nodelist
> > If node.Attributes.GetNamedItem("CODE").Value = "BASE64" Then
> > Dim Filename As String = node.Item("DATA").InnerText()
> > If File.Exists(Filename) Then
> > Files.Add(Filename)
> > End If
> > End If
> > Next
> >
> > When I try:
> >
> > Dim nodelist As XmlNodeList
> > Dim node As XmlNode
> > node = xmldoc.SelectSingleNode("/REQUEST/LOGIN")
> >
> >
> > Dim login() As String
> > nodelist = xmldoc.SelectNodes("/REQUEST/LOGIN")
> >
> > login(0) = node.Item("USERNAME").Value
> > login(1) = node.Item("PASSWORD").Value
> >
> > node.item("USERNAME").value and node.item("PASSWORD").value are nothig
> > and
> > I get a null reference error.
> >
> >[/color]
>
>
>[/color]
JohnFol
Guest
 
Posts: n/a
#4: Nov 21 '05

re: Read contents of XML element


Couple of ideas for you . . ..



Dim xmldoc As New Xml.XmlDocument

xmldoc.LoadXml("<REQUEST><LOGIN><USERNAME>myuser</USERNAME><PASSWORD>mypass</PASSWORD></LOGIN></REQUEST>")

Dim nodelist As XmlNodeList

Dim node As XmlNode

node = xmldoc.SelectSingleNode("/REQUEST/LOGIN")

MsgBox(xmldoc.SelectSingleNode("//USERNAME").InnerText)

MsgBox(xmldoc.SelectSingleNode("/REQUEST/LOGIN/PASSWORD").InnerText)

nodelist = node.SelectNodes("/REQUEST/LOGIN")

MsgBox(nodelist(0).SelectSingleNode("USERNAME").In nerText)

MsgBox(node.SelectSingleNode("PASSWORD").InnerText )










"Philip Wagenaar" <philip.wagenaar@online.nospam> wrote in message
news:3255CE36-FAD6-4949-BA2E-243776BEDBF2@microsoft.com...[color=blue]
> Sorry, everything should be in UPPERCASE, so it is not uppercase,
> lowercase
> problem
>
> "JohnFol" wrote:
>[color=green]
>> It's case sensitive, so try lower case to match the xml.
>>
>> "Philip Wagenaar" <philip.wagenaar@online.nospam> wrote in message
>> news:65CE4C30-C361-4297-83CF-E59A0986C2C7@microsoft.com...[color=darkred]
>> >I have an XML document that looks like
>> >
>> > <request>
>> > <login>
>> > <username>myuser</username>
>> > <password>mypass</password>
>> > </login>
>> > </request>
>> >
>> > How do I get the values of username and password into a string?
>> >
>> > I know how to do this if there are multiple <login></login> parts:
>> > im Files As New ArrayList
>> > Dim nodelist As XmlNodeList
>> > Dim node As XmlNode
>> >
>> > nodelist = xmldoc.SelectNodes("/REQUEST/IMPORT/DOCUMENT/FIELD")
>> > For Each node In nodelist
>> > If node.Attributes.GetNamedItem("CODE").Value = "BASE64"
>> > Then
>> > Dim Filename As String = node.Item("DATA").InnerText()
>> > If File.Exists(Filename) Then
>> > Files.Add(Filename)
>> > End If
>> > End If
>> > Next
>> >
>> > When I try:
>> >
>> > Dim nodelist As XmlNodeList
>> > Dim node As XmlNode
>> > node = xmldoc.SelectSingleNode("/REQUEST/LOGIN")
>> >
>> >
>> > Dim login() As String
>> > nodelist = xmldoc.SelectNodes("/REQUEST/LOGIN")
>> >
>> > login(0) = node.Item("USERNAME").Value
>> > login(1) = node.Item("PASSWORD").Value
>> >
>> > node.item("USERNAME").value and node.item("PASSWORD").value are nothig
>> > and
>> > I get a null reference error.
>> >
>> >[/color]
>>
>>
>>[/color][/color]


Closed Thread