以下是我的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”组中
<subGroup id=”x” GroupLevel=”01.01” Description=”blablabla”/>
或者另外在“02”组中
<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
。
答案 0 :(得分: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文件。