【问题标题】:Extracting Folder Structure from XML in .net4.0 C #在.net4.0 C#中从XML中提取文件夹结构
【发布时间】:2012-11-09 07:23:09
【问题描述】:

感谢大家之前的回答……嘿,实际上我想从 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;
    }

谁能帮我把代码弄好...?

【问题讨论】:

  • 您没有向我们提供任何指示您希望如何将原始 XML(不完整且无用的缩进)映射到对象上。很难以目前的形式帮助您解决问题。请阅读tinyurl.com/so-hints
  • 能否请您给我一个执行类似任务的代码..?
  • 类似于什么?你还没有准确地解释你想要做什么。

标签: c# .net xml xml-parsing


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2021-06-17
    • 2016-07-20
    • 1970-01-01
    • 2017-06-28
    • 1970-01-01
    • 2017-01-26
    • 1970-01-01
    • 1970-01-01
    • 2011-10-24
    相关资源
    最近更新 更多