Building an XML tree from an Array of "strings/that/are/paths" (in Ruby)
参考上面链接中给出的问题,我在C#中寻找类似的实现。
任何人都可以帮我获取代码吗。
答案 0 :(得分:0)
这是我将如何做到的。我当然感谢别人的任何反馈。
var paths = new[]
{
"nodeA1",
"nodeA1/nodeB1/nodeC1",
"nodeA1/nodeB1/nodeC1/nodeD1/nodeE1",
"nodeA1/nodeB1/nodeC2",
"nodeA1/nodeB2/nodeC2"
};
var xml = new XElement("xml");
foreach (var path in paths)
{
var parts = path.Split('/');
var current = xml;
foreach (var part in parts)
{
if (current.Element(part) == null)
{
current.Add(new XElement(part));
}
current = current.Element(part);
}
}
var result = xml.ToString();
这将打印以下内容:
<xml>
<nodeA1>
<nodeB1>
<nodeC1>
<nodeD1>
<nodeE1 />
</nodeD1>
</nodeC1>
<nodeC2 />
</nodeB1>
<nodeB2>
<nodeC2 />
</nodeB2>
</nodeA1>
</xml>