【问题标题】:Test for root node XML .NET测试根节点 XML .NET
【发布时间】:2009-08-10 17:09:53
【问题描述】:

我目前正在使用下面的代码来尝试检查某个根节点 (rss) 和某个命名空间\前缀 (itunes),但似乎是说即使提供随机提要也是有效的网页网址,而不是指向一个提要的网址。

FeedState state = FeedState.Invalid;

XmlDocument xDoc = new XmlDocument();
xDoc.Load(_url);

XmlNode root = xDoc.FirstChild;
if (root.Name.ToLower() == "rss" && root.GetNamespaceOfPrefix("itunes") == "http://www.itunes.com/dtds/podcast-1.0.dtd")
{
    state = FeedState.Valid;
}

return state;

谁能告诉我为什么会这样?

【问题讨论】:

    标签: c# xml root


    【解决方案1】:

    现在找到了解决方案。把 xDoc.Load(_url);在 try .. catch 块中并在异常时返回 FeedState.Invalid 似乎解决了我的问题。

    FeedState state = FeedState.Invalid;
    
    XmlDocument xDoc = new XmlDocument();
    
    try
    {
        xDoc.Load(_url);
    }
    catch
    {
        return state;
    }
    
    XmlNode root = xDoc.FirstChild;
    if (root.Name.ToLower() == "rss" && root.GetNamespaceOfPrefix("itunes") == "http://www.itunes.com/dtds/podcast-1.0.dtd")
    {
        state = FeedState.Valid;
    }
    
    return state;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多