I am pretty new to vb .net and it has been a very long time since I dealt with XML parsing.
I got the following XML file:
<?xml version="1.0" encoding="ISO-8859-15"?>
<tns:keyitem_list_test xmlns:tns="http://someurl.com/abc/def">
<tns:name>test.keyitem</tns:name>
<tns:type>test.IKeyItemListDataObject</tns:type>
<tns:keyitem>
<tns:cataloge>testCat</tns:cataloge>
<tns:seq_nr>1</tns:seq_nr>
<tns:keyvalue>01</tns:keyvalue>
<tns:keyvalue_alt>test1</tns:keyvalue_alt>
<tns:keytext>test text 1</tns:keytext>
<tns:keyhelpertext />
<tns:is_temp>false</tns:is_temp>
</tns:keyitem>
<tns:keyitem>
<tns:cataloge>testCat</tns:cataloge>
<tns:seq_nr>2</tns:seq_nr>
<tns:keyvalue>02</tns:keyvalue>
<tns:keyvalue_alt>test2</tns:keyvalue_alt>
<tns:keytext>test text 2</tns:keytext>
<tns:keyhelpertext />
<tns:is_temp>false</tns:is_temp>
</tns:keyitem>
...
</tns:keyitem_list_test>
The XML is returned from a POST request and saved in a variable. I want to extract all tns:keyvalue tags.
Dim doc = New Xml.XmlDocument()
doc.LoadXml(retVal.return)
Dim nsm = New Xml.XmlNamespaceManager(doc.NameTable)
nsm.AddNamespace("tns", "http://someurl.com/abc/def")
Dim value = doc.SelectSingleNode("/tns:keyvalue", nsm).InnerText
My problem is that value is always "Nothing". I tried different things but none work and I have no clue why. I think it has something to do with the namespace prefixes.