从.net4.0 C中的XML中提取文件夹结构

时间:2012-11-09 07:23:09

标签: c# .net xml xml-parsing

感谢大家以前的答案...嘿,实际上我想从XML文档中提取文件和文件夹列表....这是我的XML文档看起来像......

   <TrebuchetWorkspaceTemplate>
     <InputDocument>
        <BusinessDocument>
          <BusinessRequirement />
          <ProcessModel />
        </BusinessDocument>
        <FunctionalDocuments />
        <UseCases />
        <Agile />
    </InputDocument>
    <Miscellaneous />

这里有trebuschet有2个子文件inputdoc和miscell ..... inpout doc还有5个文件夹,其中business doc有2个子文件夹......

现在我想提取内容并从中创建一个文件夹结构(希望你得到它).....并添加到Capability元素并返回它....但是我得到一个错误的文件夹结构而不是预期6有18个孩子.....(如果你愿意,会给你它)...这是我的计划....

    public Capability Parse(XElement xElem)
    {
     Capability capParent = newCapability();                                           

     capParent.Name =xElem.Name.LocalName;                               

      if (xElem.HasElements)
        {

            foreach (XElement xChild in xElem.Descendants())
            {
                Capability capChild = Parse(xChild);
                capParent.Children.Add(capChild);
            }
        }
        return capParent;
    }

任何人都可以帮助我正确地获取代码......?

1 个答案:

答案 0 :(得分:1)

使用.Elements()代替.Descendants().Descendants()给你所有的孩子和孙子,等等。 .Elements()只给你直接的孩子。