On Feb 16, 9:13 am, "Lou" <lou.gar...@com cast.netwrote:
I have been working on something very simple for days now argh!
In VB6 it was 4 lines of code in 5 minutes!
In VB .NET how do i parse this simple xml documenet.
I cant get a reference to any of the nodes.
<?xml version="1.0" encoding="UTF-8" standalone="yes " ?>
- <cap:alert xmlns:cap="http ://www.incident.co m/cap/1.0">
<cap:identifier >NOAA-NWS-ALERTS Alabama
2007-02-16T10:03:56-05:00</cap:identifier>
<cap:sender>w-nws.webmas...@n oaa.gov</cap:sender>
<cap:sent>200 7-02-16T10:03:56-05:00</cap:sent>
<cap:status>Act ual</cap:status>
<cap:msgType>Al ert</cap:msgType>
<cap:scope>Publ ic</cap:scope>
<cap:note>Curre nt Watches, Warnings and Advisories for Alabama Issued by
the National Weather Service</cap:note>
</cap:alert>
This would be a quick way to grab those individual node values of the
alert. If you want references to the actual nodes then change id,
sent, etc. variables to the type XmlNode and drop the .InnerXml in the
lines that assign the values.
Private Sub DoXmlStuff()
Dim x As New XmlDocument
Dim ns As XmlNamespaceMan ager
Dim id As String
Dim sent As String
Dim status As String
Dim msgType As String
Dim scope As String
Dim note As String
' Load the document
x.Load("whereve rMyFileIs.xml")
' Create the NameSpaceManage r
ns = New XmlNamespaceMan ager(x.NameTabl e)
ns.AddNamespace ("cap", "http://www.incident.co m/cap/1.0")
id = x.SelectSingleN ode("//cap:alert", ns).InnerXml
sent = x.SelectSingleN ode("//cap:sent", ns).InnerXml
status = x.SelectSingleN ode("//cap:status", ns).InnerXml
msgType = x.SelectSingleN ode("//cap:msgType", ns).InnerXml
scope = x.SelectSingleN ode("//cap:scope", ns).InnerXml
note = x.SelectSingleN ode("//cap:note", ns).InnerXml
Dim sOutput As String = String.Format(" ID: {0} Sent: {1}
Status: {2} MsgType: {3} Scope: {4} Note: {5}", id, sent, status,
msgType, scope, note)
MsgBox(sOutput)
End Sub