2

以下是我开始使用的 xml 文件的“默认”结构:数量<Group>为 10

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!--Properties General Logistic Plan-->
<Groups>
<Group id="01" GroupLevel="01" Description="First Group, Category first">
  <subGroups>

  </subGroups>
</Group>
<Group id="01" GroupLevel="02" Description=" First Group, Category second ">
  <subGroups>

  </subGroups>
</Group>
………
</Groups>

我想要的是传递一个名为: subGroup 在“01”Group
<subGroup id=”x” GroupLevel=”01.01” Description=”blablabla”/>
或另外在“02”Group 中的新子
<subGroup id=”z” GroupLevel=”01.02” Description=”blablabla”/>
,我必须在(取决于)<Group>下创建一个新的,最终结构将如下所示:<subGroups>GroupLevel

<Groups>
<Group id="01" GroupLevel="01" Description="First Group, Category first">
  <subGroups>
    <subGroupB id=”10” GroupLevel=”01.01” Description=”blablabla”/>
      <GroupA id="21" GroupLevel="01.10" Description=" blablabla ">
         <subGroupC id=”10” GroupLevel=”01.21” Description=”blablabla”/>
        <GroupB id="33" GroupLevel="01.10.21" Description=" blablabla ">
            <subGroupD id=”12” GroupLevel=”01.10.21” Description=”blablabla”/>
        </GroupB>
      </GroupA>
  </subGroups>
</Group>
<Group id="01" GroupLevel="02" Description=" First Group, Category second ">
  <subGroups>

  </subGroups>
</Group>
………
</Groups>

子组... B 或 C 或 D 可能有很多,当然他们每次都必须在各自的位置上通过。
我已经为此使用了多种解决方案;但是没有人满足我的需求
这个问题超出了我个人的编程经验
有没有人知道我必须做什么?
如果你请给我一个使用 vb.net 的完整解决方案;类似的东西public class

它需要这样,因为最终用户需要subGroup根据GroupLevel每个客户的使用情况添加新的。

4

1 回答 1

0

如果您使用的是net framework3.5,您可以使用XDocument,这里有一些建议,您可以继续编码和反馈;)

1) 请通过 XDocument 的 Descadents 或 Elements 函数取出特定节点,可能会与 First() 或 FirstOrDefault() 结合。但是,请先使用 XDocument 的 Load 来加载完整的 xml 文件,注意它的路径。

2)然后您可以使用 XElment 的 Add 方法添加新的 XElement(参见 MSDN 示例: http: //msdn.microsoft.com/en-us/library/system.xml.linq.xelement.add (v=vs.110 ).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1 )

3) 最后,请使用 XDocument 的 Save 方法覆盖 xml 文件。

于 2013-11-03T09:38:51.317 回答