代码返回错误 名为“link”的列已属于
本文关键字:属于 link 返回 错误 名为 代码 | 更新日期: 2023-09-27 18:27:33
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 - 名为"link"的列已属于此数据表:无法将嵌套表名称设置为相同的名称。 2 - 远程服务器返回错误:(407( 需要代理身份验证。
谢谢!
只需提供一个阅读RSS Feed的想法:
-
创建一个 WebRequest 和 WebReponse 对象:
WebRequest request=WebRequest.Create("your url"); WebReponse response=request.GetRespose();
创建一个 XML 文档 ,并使用来自响应对象的流加载 XML 文档:
Stream rssStream=response.GetResponseStream(); XMLDocument xmlDoc=new XMLDocument(); xmlDoc.Load(rssStream);
使用 XMLNodeList 从 XMLDocument 检索匹配的 XML 节点:
XmlNodeList xmlNodeList = xmlDoc.SelectNodes("your XPath expression");
现在,您可以循环 RSS 源项目以获取所需的内容:
for (int i = 0; i < xmlNodeList.Count; i++) { XmlNode xmlNode; xmlNode = xmlNodeList.Item(i).SelectSingleNode("ProductName"); //xmlNode.InnerText; }
第二个问题:
您可能有一个公司代理,请尝试在 web.config 中使用它:
<system.net>
<defaultProxy useDefaultCredentials="true" />
</system.net>
至于第一个问题:
http://forums.asp.net/t/1220157.aspx/1
此问题可能是因为 XML 将允许重复节点,而数据表将不允许重复列,因此您无法直接解析到数据表。
我建议在深入数据表路线之前对解析和使用 XML 数据进行一些研究