代码之家  ›  专栏  ›  技术社区  ›  Dinesh Reddy Alla

如何使用c从XML文件中获取子属性值#

  •  1
  • Dinesh Reddy Alla  · 技术社区  · 9 年前

    <?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

    3 回复  |  直到 9 年前
        1
  •  2
  •   BISOFT Dev.    9 年前

    在代码示例中,根是 <EmployeeDetails> 。获取其子节点并选择最后一个,然后获取 <empCode> 此节点的。很抱歉,我写这篇文章是为了回答,我没有足够的声誉。

    XElement lastEmployeeDetails = root.LastNode;
    
        2
  •  2
  •   zx485 potemkin    9 年前

    获取案例中的最后一个元素和特定值

    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();
    
        3
  •  1
  •   Abdul Ahad    9 年前

    这可以完成工作-

    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;
    }