我正在使用名为employeesInfo的xml文件,其数据类似于
<?xml version="1.0" encoding="utf-8"?>
<EmployeeDetails>
<data>
<empCode>DIT-GINT-0001</empCode>
<FirstName>Dinesh</FirstName>
<LastName>Alla</LastName>
<Address>Guntur</Address>
</data>
<EmployeeDetails>
<empCode>DIT-GINT-0002</empCode>
<FirstName>Upendra</FirstName>
<LastName>Maddi</LastName>
<Address>guntur</Address>
</EmployeeDetails>
<EmployeeDetails>
<empCode>DIT-GINT-0003</empCode>
<FirstName>Chandrkanth</FirstName>
<LastName>Beth</LastName>
<Address>guntur</Address>
</EmployeeDetails>
</EmployeeDetails>
我获取属性{“empCode”}值的代码是
XDocument doc = XDocument.Load(System.Web.HttpContext.Current.Server.MapPath("~/employeesInfo.xml"));
XElement root = doc.Root;
string s = root.Elements("empCode").Last().ToString();
要求:我想获得最后一个父元素的empcode值。
上述文件的输出示例:DIT-GINT-0003
答案 0 :(得分:2)
在您的代码示例中,根目录为<EmployeeDetails>
。获取其子节点并选择最后一个,然后获取此节点的<empCode>
。我很抱歉,我写这个作为答案,我没有足够的声誉。
XElement lastEmployeeDetails = root.LastNode;
答案 1 :(得分:2)
获取案例中的最后一个元素和特定值
XDocument doc = XDocument.Load(System.Web.HttpContext.Current.Server.MapPath("~/employeesInfo.xml"));
XElement root = doc.Root;
string s = root.Element("EmployeeDetails").Element("empCode").LastNode.ToString();
答案 2 :(得分:1)
这可以完成工作 -
XDocument doc = XDocument.Load(@"D:\Temp\asd.xml");
var s = doc.Descendants("empCode").Last().Value;
检查节点是否存在 -
XDocument doc = XDocument.Load(@"D:\Temp\asd.xml");
var empCodes = doc.Descendants("empCode");
string result = string.Empty;
if(empCodes.Count() > 0)
{
result = empCodes.Last().Value;
}