none
根据xml结构生成树状结构 RRS feed

  • 问题

  • 有一个xml文件,要根据这个xml生成树状结构,xml结构类似如下,求大神回复,谢谢。

    <?xml version="1.0" encoding="GB2312" standalone="yes"?>
    <CDR>
      <fieldelem name="入院记录" code="" code-system="">入 院 记 录</fieldelem>
      <section name="基本信息" code="" code-system="">
        <section name="一般信息" code="" code-system="">
          <section name="姓名" code="" code-system="">
            <fieldelem name="姓名" code="" code-system="">姓名</fieldelem>
          </section>
          <section name="性别" code="" code-system="">
            <fieldelem name="性别" code="" code-system="">性别</fieldelem>
          </section>
          <section name="年龄" code="" code-system="">
            <fieldelem name="年龄" code="" code-system="">年龄</fieldelem>
          </section>
          <section name="民族" code="" code-system="">
            <fieldelem name="民族" code="" code-system="">民族</fieldelem>
          </section>
          <section name="籍贯" code="" code-system="">
            <fieldelem name="出生地" code="" code-system="">出生地</fieldelem>
          </section>
          <section name="婚姻" code="" code-system="">
            <fieldelem name="婚姻状况" code="" code-system="">婚姻状况</fieldelem>
          </section>
        </section>
      </section>
      <section name="入院时间" code="" code-system="">
        <fieldelem name="入院时间" code="" code-system="">入院时间</fieldelem>
      </section>
      <section name="记录时间" code="" code-system="">
        <fieldelem name="记录时间" code="" code-system="">记录时间</fieldelem>
        <fieldelem name="患者联系方式" code="" code-system="">患者联系方式:</fieldelem>
        <fieldelem name="联系人1" code="" code-system="">患者配偶</fieldelem>
        <fieldelem name="联系方式1" code="" code-system="">手机号码</fieldelem>
        <fieldelem name="联系人2" code="" code-system="">患者儿子</fieldelem>
        <fieldelem name="联系方式2" code="" code-system="">手机号码</fieldelem>
      </section>
      <section name="主诉" code="" code-system="">
        <fieldelem name="入院记录 症状" code="" code-system="">腹痛</fieldelem>
        <fieldelem name="入院记录 起病时间(数字)" code="" code-system="">几</fieldelem>
        <fieldelem name="入院记录 起病时间(单位)" code="" code-system="">天</fieldelem>
      </section>
     </CDR>

    2018年6月28日 14:17

全部回复

  • 类似生成这样的树状结构,如何处理,谢谢。

    入院记录
         基本信息
             一般信息
                  姓名
                  婚姻
                  年龄
                  性别
                  民族
          入院时间
          记录时间
              患者联系方式
              联系人1
              联系方式1
              联系人2
              联系方式2
          主诉
              入院记录病症
              入院记录起病时间

    2018年6月28日 14:37
  • ASP.NET  TreeView example

     // Create the root tree node.
                TreeNode root = new TreeNode();
                root.Text = "Root Parent Node";
                root.NodeData = "SomeId=1000;Name=Mike Elliott";
    
                // Create a child node.
                TreeNode tn = new TreeNode();
                tn.Text = "Child 1 of Root Parent";
                tn.NodeData = "SomeId=1001;Name=Play For Sport, Inc.";
    
                // Add the child to the root node.
                root.Nodes.Add( tn );
    
                // Create another child node.
                tn = new TreeNode();
                tn.Text = "Child 2 or Root Parent";
                tn.NodeData = "SomeId=1002;Name=Chip Oxendine";
    
                // Create a grandchild node and add it to its parent.
                TreeNode cn = new TreeNode();
                cn.Text = "Grandchild of Root Parent";
                cn.NodeData = "SomeId=1003;Name=Mike Elliott";
                tn.Nodes.Add( cn );
    
                // Add the child to the root node.
                root.Nodes.Add( tn );
                root.Expanded = true;
    
                // Add all the nodes to the tree view.
                this.tvControl.Nodes.Add( root );
    
    https://www.codeproject.com/articles/10722/asp-net-treeview-control-the-client-s-browser


    2018年6月29日 0:14
  • Linq to Xml 

    https://stackoverflow.com/questions/670563/linq-to-read-xml

    <root>
        <level1 name="A">
            <level2 name="A1" />
            <level2 name="A2" />
        </level1>
        <level1 name="B">
            <level2 name="B1" />
            <level2 name="B2" />
        </level1>
        <level1 name="C" />
    </root>
    void Main()
    {
        StringBuilder result = new StringBuilder();
    
        //Load xml
        XDocument xdoc = XDocument.Load("data.xml");
    
        //Run query
        var lv1s = from lv1 in xdoc.Descendants("level1")
                   select new { 
                       Header = lv1.Attribute("name").Value,
                       Children = lv1.Descendants("level2")
                   };
    
        //Loop through results
        foreach (var lv1 in lv1s){
                result.AppendLine(lv1.Header);
                foreach(var lv2 in lv1.Children)
                     result.AppendLine("     " + lv2.Attribute("name").Value);
        }
    
        Console.WriteLine(result);
    }


    专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    2018年6月29日 0:15