そのため、vb.net で RSS フィードを管理するプロジェクトを開発しています。ファイルが添付されている場合は、ファイルが自動的にフォルダーにダウンロードされます。私は vb.net について何か知っていますが、Xml では最初のステップを踏んでいます。
オンラインで見つけたこのコードを使用して、リンクからコンテンツを適切にダウンロードすることができました。
Dim webReq As HttpWebRequest = DirectCast(WebRequest.Create(tsCboFeeds.Text), HttpWebRequest)
webReq.AutomaticDecompression = DecompressionMethods.GZip
Dim resp As HttpWebResponse = DirectCast(webReq.GetResponse(), HttpWebResponse)
Dim xml As String
Using sr As New StreamReader(resp.GetResponseStream())
xml = sr.ReadToEnd()
End Using
doc.LoadXml(xml)
私が見つけたフィードの 99% でうまく機能します。唯一の問題は、この例のように、エンクロージャ タグにダウンロード URL があるものです (リンクは投稿の URL であり、ファイルへの URL ではありません)。
<channel>
<title>...</title>
<link>...</link>
<description>...</description>
<item>
<title>...</title>
<description>...</description>
<category>...</category>
<author>...</author>
<link...</link>
<pubDate>...</pubDate>
<enclosure url="http:..." />
</item>
使おうとすると
Dim nodesLink As XPathNodeIterator = navigator.Select("/rss/channel/item/enclosure_url")
タグ内の情報を取得できません。xml ドキュメント全体が返されます。
私が言ったように、私はXmlの多くを理解していませんが、今ではオンラインで見つけた多くの解決策を試し、ファイルを取得する方法を変更しましたが、主にエンコンディングの問題のために、この方法が私のプロジェクトに最適でした.
何か案は?