【问题标题】:(De)Seralise the root node elements and diferent child elements(De)序列化根节点元素和不同的子元素
【发布时间】:2017-04-19 11:19:28
【问题描述】:

我有不同类型的 xml 文件,下面是示例之一。
xml标签是动态形成的,我需要根据层次结构从xml文件中获取根标签名称和子标签名称

<Employee>
<PersonalInfo>
  <Id>206</Id>
  <Name>Govinda</Name>
  <Skills>C#,ASP.NET,MVC4,HTML,CSS</Skills>
</PersonalInfo>
<Projects>
  <Working>
    <Name>Project306</Name>
    <Team>Team10</Team>
    <Role>Developer</Role>
  </Working>
  <Completed>
    <Name>Agro Seeds</Name>
    <Team>Team9</Team>
    <Role>Developer</Role>
  </Completed>
</Projects>

提前致谢

【问题讨论】:

  • 你看过 XDocument 吗? msdn.microsoft.com/en-us/library/…
  • 通过它,但我无法从 xml 标签中获取子节点和值
  • 您能否展示一些不起作用的代码,也许我们可以告诉您问题所在。
  • 通过循环(foreach)得到它

标签: javascript c# asp.net


【解决方案1】:
 XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load(Server.MapPath("~/employee.xml"));
        XmlElement root = xmlDoc.DocumentElement;       
        string Content = string.Empty;           
        Content += "<div>" + root.Name;
        Content += "<ul>";
        foreach (XmlNode node in root)
        {
            Content += node.Name;
            for (int i = 0; i < node.ChildNodes.Count; i++)
            {
                Content += "<li>" + (node.ChildNodes[i]).Name + " : " + (node.ChildNodes[i]).InnerText + "</li>";
            }

        }
        Content += "</ul>";
        Content += "</div>";

【讨论】:

  • 我们可以使用 LINQ 查询实现同样的效果吗
猜你喜欢
  • 1970-01-01
  • 2012-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多