2012-06-16 97 views
1

我有一个简单的xml用户。我有一个StudentId,我只需要根据studentid从xml中获取学生姓名。似乎很简单,但我无法使用xpath完成它。无法使用xpath从XDocument提取值

这里的XML:

<Students> 
    <Student> 
    <StudentId>1</StudentId> 
    <StudentName>Mad</StudentName> 
    </Student> 
    <Student> 
    <StudentId>2</StudentId> 
    <StudentName>Cad</StudentName> 
    </Student> 
</Students> 

这里是我的代码:

XDocument xmldoc = XDocument.Load(Server.MapPath("~/xmlsample.xml")); 

string StudentId = "2"; // id to be selected 

var username = xmldoc.XPathSelectElement("Students/Student/StudentName").Value;// Not sure how to use where condition here 

回答

2

你只需要通过studentId过滤。应该是:

var username = xmldoc.XPathSelectElement(String.Format("Students/Student[StudentId={0}]/StudentName", StudentId)).Value;