Code:
<channel>
<title>Pocetak</title>
<link>Glavni url</link>
<description>Opis br1</description>
<lastBuildDate>Fri, 25 Mar 2011 22:17:57 +0000</lastBuildDate>
<generator>http://wordpress.org/?v=2.8.4</generator>
<language>en</language>
<sy:updatePeriod>hourly</sy:updatePeriod>
<sy:updateFrequency>1</sy:updateFrequency>
- <item>
<title>Neki Naslov</title>
<link>Neki URL</link>
<pubDate>Mon, 14 Mar 2011 21:40:53 +0000</pubDate>
- <content:encoded>
- <![CDATA[
neki tekst..............
</content:encoded>
</item>
- <item>
<title>Jos neki naslov</title>
<link>Jos neki url</link>
<pubDate>Mon, 14 Mar 2011 21:40:53 +0000</pubDate>
- <content:encoded>
- <![CDATA[
opet neki tekst..............
</content:encoded>
</item>
.
.
.
itd
<channel>
<title>Pocetak</title>
<link>Glavni url</link>
<description>Opis br1</description>
<lastBuildDate>Fri, 25 Mar 2011 22:17:57 +0000</lastBuildDate>
<generator>http://wordpress.org/?v=2.8.4</generator>
<language>en</language>
<sy:updatePeriod>hourly</sy:updatePeriod>
<sy:updateFrequency>1</sy:updateFrequency>
- <item>
<title>Neki Naslov</title>
<link>Neki URL</link>
<pubDate>Mon, 14 Mar 2011 21:40:53 +0000</pubDate>
- <content:encoded>
- <![CDATA[
neki tekst..............
</content:encoded>
</item>
- <item>
<title>Jos neki naslov</title>
<link>Jos neki url</link>
<pubDate>Mon, 14 Mar 2011 21:40:53 +0000</pubDate>
- <content:encoded>
- <![CDATA[
opet neki tekst..............
</content:encoded>
</item>
.
.
.
itd
Recimo da ovako izgleda xml fajl koji citam. (Skratio sam maksimalno, ako neki deo strukture nije ispravan, nije problem u tome). Ovo je inace segment RSS feed-a sa jednog bloga, i ucitavam ga ovim kodom:
Code:
Dim URL As String
URL = URLBox.Text
Try
Dim Request As Net.WebRequest = Net.HttpWebRequest.Create(URL)
Dim Response As Net.WebResponse = Request.GetResponse
Dim sReader As New IO.StreamReader(Response.GetResponseStream())
Dim xmlDoc As New Xml.XmlDocument()
xmlDoc.Load(sReader)
Dim TitleNode As Xml.XmlNodeList = xmlDoc.GetElementsByTagName("item")
For Each post As System.Xml.XmlElement In TitleNode
ListaTitle.Items.Add(post.SelectSingleNode("title").InnerText)
ListaDatum.Items.Add(post.SelectSingleNode("pubDate").InnerText)
ListaLink.Items.Add(post.SelectSingleNode("link").InnerText)
ListaDescription.Items.Add(post.SelectSingleNode("content:encoded").InnerText)
Next
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Dim URL As String
URL = URLBox.Text
Try
Dim Request As Net.WebRequest = Net.HttpWebRequest.Create(URL)
Dim Response As Net.WebResponse = Request.GetResponse
Dim sReader As New IO.StreamReader(Response.GetResponseStream())
Dim xmlDoc As New Xml.XmlDocument()
xmlDoc.Load(sReader)
Dim TitleNode As Xml.XmlNodeList = xmlDoc.GetElementsByTagName("item")
For Each post As System.Xml.XmlElement In TitleNode
ListaTitle.Items.Add(post.SelectSingleNode("title").InnerText)
ListaDatum.Items.Add(post.SelectSingleNode("pubDate").InnerText)
ListaLink.Items.Add(post.SelectSingleNode("link").InnerText)
ListaDescription.Items.Add(post.SelectSingleNode("content:encoded").InnerText)
Next
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Sve radi odlicno osim kad ucitavam "content:encoded", a kada ucitavam "content:encoded" dobijam gresku:
"Namespace Manager or XsltContext needed. This query has a prefix, variable, or user-defined function."
Prvo sam mislio da je problem u tome sto prvi deo xml-a nema <content:encoded>, medjutim shvatio sam da se kodom
Dim TitleNode As Xml.XmlNodeList = xmlDoc.GetElementsByTagName("item") eliminise prvi post.
Kao sto sam vec naglasio, prva tri taga ucitavam bez problema, a gresku za celu aplikaciju dobijam samo ako potrazujem i sadrzaj taga <content:encoded>
Gde gresim ? :S