: System.Xml.XPath.XPathException: 表达式的计算结果必须为节点集。

feifeiyaqi3 2008-07-15 01:31:49
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();
}
}


...全文
1163 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
feifeiyaqi3 2008-07-16
  • 打赏
  • 举报
回复
下拉列表DropDownList id=ddlExpression
feifeiyaqi3 2008-07-16
  • 打赏
  • 举报
回复
下拉列表DropDownList id ddlExpression
guxingdao 2008-07-15
  • 打赏
  • 举报
回复
ddlExpression.SelectedItem.Text是什么你根本没说,谁能知道你写的是什么?你这样问问题谁能帮你?

ddlExpression.SelectedItem.Text你写的是XPath表达式吗?

110,043

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧