Chapter 6.0 example 
异常详细信息: System.Xml.XPath.XPathException: 表达式的计算结果必须为节点集。源错误: 
 行 39:         XmlDocument doc = new XmlDocument();
行 40:         doc.Load(xmlPath);
行 41:         XmlNodeList nodeList = doc.DocumentElement.SelectNodes(ddlExpression.SelectedItem.Text);
行 42: 
行 43:         foreach (XmlNode node in nodeList)  源文件: c:\Inetpub\wwwroot\Chapter6\gg.aspx.cs    行: 41 堆栈跟踪: 
 [XPathException: 表达式的计算结果必须为节点集。]  Program:
public partial class gg : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            ddlExpression.Items.Add("//book/title");
            ddlExpression.Items.Add("//book[@genre='novel']/title");
            ddlExpression.Items.Add("//book/author/first-name");
            ddlExpression.Items.Add("//book/[@genre='philosopohy']/title");
            ddlExpression.Items.Add("//book/price");
            ddlExpression.Items.Add("//book[3]/title");
            ddlExpression.SelectedIndex =0;
            //set the default selection
            UpdateDisplay();
        }    }    public void UpdateDisplay()
    {
        lblResult.Items.Clear();//clear content
        string xmlPath = @"C:\Inetpub\wwwroot\Chapter6\books.xml";
        XmlDocument doc = new XmlDocument();
        doc.Load(xmlPath);
        XmlNodeList nodeList = doc.DocumentElement.SelectNodes(ddlExpression.SelectedItem.Text);//?????这句不能通过测试        foreach (XmlNode node in nodeList)
        {
            lblResult.Items.Add("node name;" + node.Name);
            if(node.FirstChild !=null)
            lblResult.Items.Add("node value:" + node.FirstChild.Value);
        }
       
    }
    
    protected void ddlExpression_SelectedIndexChanged(object sender, EventArgs e)
    {
        UpdateDisplay();
    }
}