反正是有,无论是使用LINQ,XmlDocument的等等,我可以分裂一个大的XML文件成较小的卡盘,并保留所有的父节点值拆分XML文件,并保留父节点信息
示例XML
<Inventory>
<Dealer>
<ID>123</ID>
<Phone>1235551234</Phone>
<Units>
<Unit>
<Year>
<Make />
<Model />
</Unit>
<Unit>
<Year />
<Make />
<Model />
</Unit>
</Units>
</Dealer>
<Dealer>
<ID>124</ID>
<Phone>1235554321</Phone>
<Units>
<Unit>
<Year />
<Make />
<Model />
</Unit>
<Unit>
<Year />
<Make />
<Model />
</Unit>
</Units>
</Dealer>
</Inventory>
大块应该是这样的,即在原始
<Inventory>
<Dealer>
<ID>123</ID>
<Phone>1235551234</Phone>
<Units>
<Unit>
<Year>
<Make />
<Model />
</Unit>
</Units>
</Dealer>
</Inventory>
发现每个单元节点我要澄清一个问题,我想programmaticly建立开始日的块e“单位”节点。不知道父元素可能包含什么。
我的解决方案迄今
XDocument document = XDocument.Load("sample.xml");
var units = document.Descendents("Unit").ToList();
foreach (XElement unit in units)
{
XElement parent = unit;
XElement child = parent;
while (null != parent.Parent)
{
parent = parent.Parent;
parent.Descendents(child.Name).Remove();
parent.Add(child);
child = parent;
}
}
这个伟大的工程为每个经销商节点的第一单元,对于经销商每个后续单元丢失任何父信息和块只包含组节点。
乍得,当标签中包含标题时,不需要在标题中放置“(C#)”。 – 2011-01-28 19:52:33