我的任務是從XML文件中繪製一個xml樹。我設法使用openDialog組件打開一個xml文件,現在我有一個saveDialog組件選擇要寫入的文件。現在,我必須想出一種算法,會:給定一個輸入XML文件,繪製其樹形結構
<Videos>
<Video>
<Title>The Distinguished Gentleman</Title>
<Director>Jonathan Lynn</Director>
<Actors>
<Actor>Eddie Murphy</Actor>
<Actor>Lane Smith</Actor>
<Actor>Sheryl Lee Ralph</Actor>
<Actor>Joe Don Baker</Actor>
</Actors>
<Length>112 Minutes</Length>
<Format>DVD</Format>
<Rating>R</Rating>
</Video>
<Video>
<Title>Her Alibi</Title>
<Director>Bruce Beresford</Director>
<Length>94 Mins</Length>
<Format>DVD</Format>
<Rating>PG-13</Rating>
</Video>
</Videos>
因此,這將是:
<Videos>
---<Video>
-------<Title>
-------<Director>
-------<Actors>
--------------<Actor>
-------<Length>
-------<Format>
-------<Rating>
我認爲這將是在foreach語句:
XDocument xdoc = XDocument.Load(pathToXML);
foreach (var element in XML.Descendants)
{
//code here ??
} ??
是的,我知道那。但我有問題如何選擇只有一個孩子節點(沒有這個方法)。我有類似的東西,但它仍然列出了所有的元素,不僅結構:
public string GetOutline(int indentLevel, XElement element)
{
StringBuilder result = new StringBuilder();
result = result.AppendLine(new string('-', indentLevel * 2) + element.Name);
foreach (var childElement in element.Elements())
{
result.Append(GetOutline(indentLevel + 3, childElement));
}
return result.ToString();
有什麼我們可以爲你做的嗎? – vanneto
買我一輛保時捷;)?,我試圖想出來,但我是一個初學者,而不是流利的這個還沒有 – Peter
[最後LINQ to XML遞歸查看元素](http:// stackoverflow。 com/questions/14423996/finally-linq-to-xml-recursive-viewing-of-elements) –