2013-08-13 3 views
0
public partial class Default : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

     try 
     { 
      DataSet ds = new DataSet(); 
      ds.ReadXml(@"http://tecnologia.ig.com.br/rss.xml"); 

      XmlDocument doc = new XmlDocument(); 
      XmlUrlResolver resolver = new XmlUrlResolver(); 
      resolver.Credentials = new System.Net.NetworkCredential("bruno", "*****");//intentionally hiding real password from stackoverflow 
      doc.XmlResolver = resolver; 

      foreach (DataRow dr in ds.Tables["item"].Rows) 
      { 
       Response.Write("Item TITLE: " + dr["title"].ToString() + "<br />"); 
       Response.Write("Descrição : " + dr["description"].ToString() + "<br />"); 
       Response.Write("Data de Publicação: " + dr["pubDate"].ToString() + "<br />"); 
      } 
     } 
     catch (Exception ex) 
     { 
      throw new Exception(ex.Message); 
     } 
    } 
} 

내가 코드를 실행하고 속해있는 시스템 반환이 오류의
1 - '링크'라는 이름의 열이 DataTable에 이미 속해 : 설정할 수 없습니다 중첩 테이블 이름을 같은 이름으로 지정하십시오. 2 - 원격 서버에서 오류를 반환했습니다 : (407) 프록시 인증 필요.강령의 반환 오류라는 이름의 열은 '링크'이 (가) 이미

감사합니다.

+0

첫 번째 :

XmlNodeList xmlNodeList = xmlDoc.SelectNodes("your XPath expression"); 
  • 은 이제 RSS 피드 항목이 얻을 수있는 루프 당신이 원하는 수있는 오류는 두 번째 오류와 관련이 있습니다. 여기에서 두 번째 오류를 제거 할 수있는 설정에 대한 정보를 살펴 보시고 첫 번째 오류가 발생하지 않도록 최선을 다하겠습니다. http://stackoverflow.com/questions/1524566/407-proxy-authentication-required – stevepkr84

  • 답변

    1

    그냥 RSS 피드 읽기위한 아이디어를 제공

    1. 는 WebRequest 클래스와 WebReponse 만들기를 목적 :

      WebRequest request=WebRequest.Create("your url"); 
      WebReponse response=request.GetRespose(); 
      
    2. 는 XML 문서를 만들고 응답 객체에서 스트림으로 XML 문서를로드 :

      Stream rssStream=response.GetResponseStream(); 
      XMLDocument xmlDoc=new XMLDocument(); 
      xmlDoc.Load(rssStream); 
      
    3. XMLNodeList와 XmlDocument에서 XML 노드를 일치 검색 : 가능성이

      for (int i = 0; i < xmlNodeList.Count; i++) 
          { 
           XmlNode xmlNode; 
      
           xmlNode = xmlNodeList.Item(i).SelectSingleNode("ProductName"); 
           //xmlNode.InnerText; 
          } 
      
    +0

    이것은 데이터 집합으로 구문 분석하기보다는 함께 갈 것입니다. –

    +0

    System.Net.WebProxy 프록시 = new System.Net.WebProxy (@ "ip : door"); proxy.Credentials = new System.Net.NetworkCredential ("User", "Pass"); System.Net.WebRequest.DefaultWebProxy = proxy; 나는 문제 1을 해결했다 ... 그리고 문제 번호 2는 rss 웹 사이트 (rss/XML corrupted)와 관련이있다. 나는 단지 링크를 바꾸었다. –

    0

    제 2 문제 :

    당신은 아마 기업의 프록시를 가지고에서 web.config이를 사용해보십시오 : 1 문제에 관해서는

    <system.net> 
        <defaultProxy useDefaultCredentials="true" /> 
    </system.net> 
    

    :

    http://forums.asp.net/t/1220157.aspx/1

    XML은 중복 노드를 허용하고 데이터 테이블은 중복 열을 허용하지 않으므로 데이터 테이블에 직접 구문 분석 할 수 없으므로 문제가 발생할 가능성이 높습니다.

    내가 구문 분석에 대한 몇 가지 조사를하고 지금까지 데이터 테이블 아래 경로로 이동하기 전에 XML 데이터를 사용하는 것이 좋습니다 것

    +0

    Thank You Guys! ; D –