真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何實(shí)現(xiàn)XmlDocumentXML編碼的轉(zhuǎn)換-創(chuàng)新互聯(lián)

如何實(shí)現(xiàn)XmlDocument XML編碼的轉(zhuǎn)換?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括墨玉網(wǎng)站建設(shè)、墨玉網(wǎng)站制作、墨玉網(wǎng)頁制作以及墨玉網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,墨玉網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到墨玉省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

最近做一個RSS在線聚合器,大部分RSS 2.0編碼的XML編碼.NET編譯器都可以 正確讀取,可是一些比如GBK編碼,我們的.NET就讀取不了,如果把那個XML的編 碼手動改變成“gb2312”或者其它編碼,也是讀取不了。不過編碼改 變不改變,IE都是可以正確查看的。下面怎么辦,確實(shí)難住我了。改變編碼怎么 樣?我的RSS在線聚合器要讀取的RSS 2.0文件不是下載到本地的文件,而是在線 閱讀。那好,得到連接后,使用流可以很好的得到正確編碼的XML流。下面見代碼 啦:

1 private void Page_Load(object sender, System.EventArgs e)
2 {
3 rssRepeater.DataSource = ReturnReadResult( Request[ "url" ] );
4 rssRepeater.DataBind( );
5 }
6
7 private DataTable ReturnReadResult( string rssUrl )
8    {
9      //構(gòu)在DataTable表格
10      DataTable dt = CreateDataTable();
11       DataRow dr;
12
13      try 
14      {
15        XmlDocument xml = new XmlDocument();
16
17        //正常加載完全合格的RSS 2.0文件
18         try
19        {
20           xml.LoadXml( rssUrl );
21        }
22         catch
23        {
24          //下面的措施 針對一些特別的RSS 2.0文件,比如下面的一個站點(diǎn):
25           //site :http://www.csdn.net/rss/rssfeed.aspx? rssid=1&bigclassid=14
26          //按照常規(guī)是無法正 常加載的。需要進(jìn)一步處理。比如一些.NET暫時不支持的編碼,目前可以讀取所 知的RSS 2.0
27           rssUrl = "http://soft.yesky.com/index.xml";
28           System.Net.WebRequest wr = System.Net.WebRequest.Create( rssUrl );
29          System.Net.WebResponse srp = wr.GetResponse ();
30          //加入了把原先編碼都轉(zhuǎn)化成了2312gb形式。 
31          StreamReader sr = new StreamReader( srp.GetResponseStream() ,System.Text.Encoding.GetEncoding( "gb2312" ));
32
33          xml.LoadXml( sr.ReadToEnd( ).Trim( ) );
34          sr.Close();
35          srp.Close();
36        }
37
38        //讀取總標(biāo)題信息,可以判斷是否有圖片展示
39        try
40        {
41           titleLabel.Text = xml.SelectSingleNode ("/rss/channel/title").InnerText
42             + "
" 45             + "
" 48            + xml.SelectSingleNode ("/rss/channel/description").InnerText 49             + "
" 50            +  xml.SelectSingleNode("/rss/channel/link").InnerText; 51         } 52        catch 53         { 54          try 55          { 56             titleLabel.Text = xml.SelectSingleNode ("/rss/channel/title").InnerText 57               + "
" 58              + xml.SelectSingleNode("/rss/channel/description").InnerText 59              + "
" 60               + xml.SelectSingleNode ("/rss/channel/link").InnerText; 61           } 62          catch 63          { 64            //假如沒有頻道進(jìn)行說明的情況下 65             titleLabel.Text = xml.SelectSingleNode ("/rss/channel/title").InnerText 66               + "
" 67              + xml.SelectSingleNode("/rss/channel/link").InnerText; 68           } 69        } 70 71         XmlNodeList nodes = xml.SelectNodes("http://item"); 72 73        foreach( XmlNode item in nodes ) 74         { 75          dr = dt.NewRow(); 76           foreach( XmlNode child in item.ChildNodes ) 77           { 78 79            switch( child.Name ) 80            { 81               case "title": 82                 dr[ "title" ] = child.InnerText; 83                 break; 84              case "link": 85                dr[ "link" ] = child.InnerText; 86                 break; 87              case "author": 88                dr[ "author" ] = child.InnerText; 89                 break; 90              case "guid": 91                dr[ "guid" ] = child.InnerText; 92                 break; 93              case "category": 94                dr[ "category" ] = child.InnerText; 95                 break; 96              case "pubDate": 97                dr[ "pubDate" ] = child.InnerText; 98                 break; 99              case "description": 100                dr[ "description" ] = child.InnerText; 101                 break; 102              case "comments": 103                dr[ "comments" ] = child.InnerText; 104                 break; 105            } 106           } 107          dt.Rows.Add( dr ); 108         } 109        return dt; 110      } 111      catch ( Exception ex ) 112      { 113        Response.Write( ex.ToString( ) ); 114         return null; 115      } 116    } 117 118//手動創(chuàng)立一個DataTable 119    private DataTable CreateDataTable() 120    { 121      DataTable dt = new DataTable(); 122      DataColumn dc; 123 124       System.Type type; 125      type = System.Type.GetType("System.String"); 126 127       dc = new DataColumn( "title",type ); 128       dt.Columns.Add( dc ); 129 130      dc = new DataColumn( "link", type ); 131       dt.Columns.Add( dc ); 132 133      dc = new DataColumn( "author", type ); 134      dt.Columns.Add( dc ); 135 136      dc = new DataColumn( "guid", type ); 137      dc.DefaultValue = ""; 138       dt.Columns.Add( dc ); 139 140      dc = new DataColumn( "category", type ); 141       dc.AllowDBNull = true; 142      dt.Columns.Add( dc ); 143 144      dc = new DataColumn( "pubDate", type ); 145      dt.Columns.Add( dc ); 146 147       dc = new DataColumn( "description", type ); 148       dc.AllowDBNull = true; 149      dt.Columns.Add( dc ); 150 151      dc = new DataColumn( "comments", type ); 152      dc.AllowDBNull = true; 153      dt.Columns.Add( dc ); 154 155       return dt; 156    }

這樣處理后,可以讀取大 部分的RSS 2.0連接。

至于處理本地的文件使用StreamReader流轉(zhuǎn)化編碼 ,一樣的處理。

其核心就是使用流轉(zhuǎn)換編碼。

關(guān)于如何實(shí)現(xiàn)XmlDocument XML編碼的轉(zhuǎn)換問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。


網(wǎng)站名稱:如何實(shí)現(xiàn)XmlDocumentXML編碼的轉(zhuǎn)換-創(chuàng)新互聯(lián)
分享地址:http://weahome.cn/article/dcsdpd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部