Howdy,
I'm having a slight issue with my code here and I'm not exactly sure I've got it right. Basically what I'm trying to do is to pull in URLs (strAddress) from a database, then have it send that to my code the parses the XML. Then it should go to the next one, and do the same thing etc. Eventually I'd like for it to add the feeds to the database/cache them, but my biggest issue right now is trying to get it to loop through GrabAddress() and display the right feed URLs.
Pasted my code below:
Public Sub GrabAddress()
For i As Integer = 0 To DataSet11.Tables(0).Rows.Count - 1
MessageBox.Show(DataSet11.Tables(0).Rows.Count & " " & i)
Dim dr As DataRow = DataSet11.Tables(0).Rows(i)
i = i + 1
strAddress = dr("AddRemove_Feed_URL")
MessageBox.Show(strAddress)
GetFeedData(strAddress)
MessageBox.Show(DataSet11.Tables(0).Rows.Count & " " & i)
Next
End Sub
'Import Feed and Parse into Database
Public Sub GetFeedData(ByVal sender As String)
'Dim address As String = cmbFeedSelect.Text
xDoc = New MSXML.DOMDocument
xDoc.async = False
'xDoc.validateOnParse = False
If xDoc.load(strAddress) Then
'Reads the XML Document and all of the Nodes
Nodes = xDoc.documentElement.getElementsByTagName("item")
Dim i As Integer
For i = 0 To Nodes.length - 1
xNode = Nodes.item(i)
Try
MessageBox.Show(xNode.selectSingleNode("link").text)
MessageBox.Show(xNode.selectSingleNode("pubDate").text)
MessageBox.Show(xNode.selectSingleNode("title").text)
MessageBox.Show(xNode.selectSingleNode("description").text)
'Dim drw As DataRow
'drw = DataSet21.Tables(0).NewRow
'drw.Item("Feed_Article_" & i + 1 & "_Link") = Trim(xNode.selectSingleNode("link").text)
'drw.Item("Feed_Article_" & i + 1 & "_PubDate") = Trim(xNode.selectSingleNode("pubDate").text)
'drw.Item("Feed_Article_" & i + 1 & "_Title") = Trim(xNode.selectSingleNode("title").text)
'drw.Item("Feed_Article_" & i + 1 & "_Description") = Trim(xNode.selectSingleNode("link").text)
'DataSet21.Tables(0).Rows.Add(drw)
'OleDbDataAdapter1.Update(DataSet21)
'TitleSelect.SetValue(xNode.selectSingleNode("description").text, i)
'URLSelect.SetValue(xNode.selectSingleNode("link").text, i)
'PubDateSelect.SetValue(xNode.selectSingleNode("pubDate").text, i)
'lstTitle.Items.Add(xNode.selectSingleNode("pubDate").text & ": " & xNode.selectSingleNode("title").text)
'lstTitle.ValueMember = xNode.selectSingleNode("link").text
'lstTitle.SelectedIndex = 0
Catch ex As Exception
End Try
'OLD Code
''Dim iteminfo As String
'Try
' 'iteminfo = "Title: " & xNode.selectSingleNode("title").text & vbCrLf & _
' '"Link: " & xNode.selectSingleNode("link").text & vbCrLf & _
' '"Description: " & xNode.selectSingleNode("description").text & vbCrLf & _
' '"PubDate: " & xNode.selectSingleNode("pubDate").text & vbCrLf
' ''"Catagory: " & xNode.selectSingleNode("catagory").text & vbCrLf
' 'MsgBox(iteminfo, vbExclamation)
' 'Label1.Text = xNode.selectSingleNode("title").text
' 'TextBox1.Text = xNode.selectSingleNode("link").text
'Catch ex As Exception
'End Try
Next
Else
Dim strErrText As String
Dim xPE As MSXML.IXMLDOMParseError
' Obtain the ParseError object
xPE = xDoc.parseError
With xPE
strErrText = "Your XML Document failed to load" & _
"due the following error." & vbCrLf & _
"Error #: " & .errorCode & ": " & xPE.reason & _
"Line #: " & .line & vbCrLf & _
"Line Position: " & .linepos & vbCrLf & _
"Position In File: " & .filepos & vbCrLf & _
"Source Text: " & .srcText & vbCrLf & _
"Document URL: " & .url
End With
MsgBox(strErrText, vbExclamation)
xPE = Nothing
End If
End Sub
I'm having a slight issue with my code here and I'm not exactly sure I've got it right. Basically what I'm trying to do is to pull in URLs (strAddress) from a database, then have it send that to my code the parses the XML. Then it should go to the next one, and do the same thing etc. Eventually I'd like for it to add the feeds to the database/cache them, but my biggest issue right now is trying to get it to loop through GrabAddress() and display the right feed URLs.
Pasted my code below:
Public Sub GrabAddress()
For i As Integer = 0 To DataSet11.Tables(0).Rows.Count - 1
MessageBox.Show(DataSet11.Tables(0).Rows.Count & " " & i)
Dim dr As DataRow = DataSet11.Tables(0).Rows(i)
i = i + 1
strAddress = dr("AddRemove_Feed_URL")
MessageBox.Show(strAddress)
GetFeedData(strAddress)
MessageBox.Show(DataSet11.Tables(0).Rows.Count & " " & i)
Next
End Sub
'Import Feed and Parse into Database
Public Sub GetFeedData(ByVal sender As String)
'Dim address As String = cmbFeedSelect.Text
xDoc = New MSXML.DOMDocument
xDoc.async = False
'xDoc.validateOnParse = False
If xDoc.load(strAddress) Then
'Reads the XML Document and all of the Nodes
Nodes = xDoc.documentElement.getElementsByTagName("item")
Dim i As Integer
For i = 0 To Nodes.length - 1
xNode = Nodes.item(i)
Try
MessageBox.Show(xNode.selectSingleNode("link").text)
MessageBox.Show(xNode.selectSingleNode("pubDate").text)
MessageBox.Show(xNode.selectSingleNode("title").text)
MessageBox.Show(xNode.selectSingleNode("description").text)
'Dim drw As DataRow
'drw = DataSet21.Tables(0).NewRow
'drw.Item("Feed_Article_" & i + 1 & "_Link") = Trim(xNode.selectSingleNode("link").text)
'drw.Item("Feed_Article_" & i + 1 & "_PubDate") = Trim(xNode.selectSingleNode("pubDate").text)
'drw.Item("Feed_Article_" & i + 1 & "_Title") = Trim(xNode.selectSingleNode("title").text)
'drw.Item("Feed_Article_" & i + 1 & "_Description") = Trim(xNode.selectSingleNode("link").text)
'DataSet21.Tables(0).Rows.Add(drw)
'OleDbDataAdapter1.Update(DataSet21)
'TitleSelect.SetValue(xNode.selectSingleNode("description").text, i)
'URLSelect.SetValue(xNode.selectSingleNode("link").text, i)
'PubDateSelect.SetValue(xNode.selectSingleNode("pubDate").text, i)
'lstTitle.Items.Add(xNode.selectSingleNode("pubDate").text & ": " & xNode.selectSingleNode("title").text)
'lstTitle.ValueMember = xNode.selectSingleNode("link").text
'lstTitle.SelectedIndex = 0
Catch ex As Exception
End Try
'OLD Code
''Dim iteminfo As String
'Try
' 'iteminfo = "Title: " & xNode.selectSingleNode("title").text & vbCrLf & _
' '"Link: " & xNode.selectSingleNode("link").text & vbCrLf & _
' '"Description: " & xNode.selectSingleNode("description").text & vbCrLf & _
' '"PubDate: " & xNode.selectSingleNode("pubDate").text & vbCrLf
' ''"Catagory: " & xNode.selectSingleNode("catagory").text & vbCrLf
' 'MsgBox(iteminfo, vbExclamation)
' 'Label1.Text = xNode.selectSingleNode("title").text
' 'TextBox1.Text = xNode.selectSingleNode("link").text
'Catch ex As Exception
'End Try
Next
Else
Dim strErrText As String
Dim xPE As MSXML.IXMLDOMParseError
' Obtain the ParseError object
xPE = xDoc.parseError
With xPE
strErrText = "Your XML Document failed to load" & _
"due the following error." & vbCrLf & _
"Error #: " & .errorCode & ": " & xPE.reason & _
"Line #: " & .line & vbCrLf & _
"Line Position: " & .linepos & vbCrLf & _
"Position In File: " & .filepos & vbCrLf & _
"Source Text: " & .srcText & vbCrLf & _
"Document URL: " & .url
End With
MsgBox(strErrText, vbExclamation)
xPE = Nothing
End If
End Sub