通过XPath解析Xml会出错

时间:2010-12-02 21:23:08

标签: c# xml xpath

我有一个非常简单的xml字符串,我使用XmlDocument类加载。现在我试图通过XPath查询读取它,我收到此错误,

“表达式必须评估为节点集。”

这是我的Xml,

<RF_SearchTermBanners>
   <ImageName>3pc-leather-set.jpg</ImageName>
</RF_SearchTermBanners>

这是我的C#代码,

protected void BindSearchBanner(string ImageUrl)
{
    //Parse Xml string containing Image name
    System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
    xmlDoc.LoadXml(ImageUrl);

    System.Xml.XmlNode node = (System.Xml.XmlNode)xmlDoc.DocumentElement;
    System.Xml.XmlElement imageElem = node.SelectSingleNode("@/RF_SearchTermBanners/ImageName") as System.Xml.XmlElement;

    string imgUrl = imageElem.InnerText;

    if (imgUrl != null && imgUrl != string.Empty)
    {
        SearchBanner.ImageUrl = "~/Themes/Default/Images" + imgUrl;
        SearchBanner.Visible = true;
    }
    else
    {
        SearchBanner.ImageUrl = string.Empty;
        SearchBanner.Visible = false;
    }
}

请帮忙。

1 个答案:

答案 0 :(得分:2)

您的意思是@"/RF_SearchTermBanners/ImageName"吗?在XPath中,@符号表示属性。