표준 CNN 뉴스 피드를 테이블에 넣으려고하는데 "링크가 중복되었습니다."라는 예외가 있습니다. 라인에 : 중복 이름 예외를 일으키는 C# XmlTextReader 및 DataSet
cnnds.ReadXml(CNNfeed);
여기에 전체 코드이고, 그것은 코드를 중지하고 단순히 중복 열을 무시하거나 마지막 열을 사용한다 오류를 발생합니다.
XmlTextReader CNNfeed = new XmlTextReader("http://rss.cnn.com/rss/cnn_topstories.rss");
DataSet cnnds = new DataSet("CNN");
cnnds.ReadXml(CNNfeed, XmlReadMode.Auto); // read the XML feed
DataTable CNNNewsFeedTable = new DataTable("CNNNewsFeed");
어떻게이 문제를 해결할 수 있습니까? 나는 모든 것을 시도해 왔으며 이것이 작동하도록하는 유일한 방법은 CNN 피드를 적절하게 사용하지 않는 것입니다.
방금 XmlReadMode.ReadSchema를 변경했으며이 부분을 통과했지만 cnnds.Tables [1]은 범위를 벗어난 색인이라고합니다. 마치 빈 XML처럼.
이러한 예외 및 문제없이 다른 웹 사이트에서 RSS 피드를 읽을 수있는 쉬운 방법이 있습니까?
편집 : 주위에 try {} catch()를 추가하는 것이 중복되지만이 문제를 피하는 것 같습니다.
당신은 "새로운 XmlTextReader는"을 사용해서는 안합니다. .NET 2.0 이후로 더 이상 사용되지 않습니다. 대신에'XmlReader.Create'를 사용하십시오. –
John Saunders : XmlReader에도 동일한 오류가 나타납니다. – Muflix