PDA

View Full Version : پیدا کردن تمام مسیر های از ریشه به برگ در یک فایل XML



13601360
سه شنبه 24 مرداد 1391, 16:46 عصر
سلام دوستان
من از روشی که در این لینک (http://support.microsoft.com/kb/317597) گفته شده برای نمایش فایل XML در کنترل TreeView استفاده می کنم
اما الان نیاز دارم که تمام مسیر های ریشه به برگ رو بدست بیارم

چطور می نونم این کار رو انجام بدهم؟

hamidkh
سه شنبه 24 مرداد 1391, 17:20 عصر
سلام
متوجه منظورتون نشدم ولی اون تابع AddNode به صورت بازگشتی تمامی نودهای فایل xml رو به درخت اضافه میکنه.

13601360
سه شنبه 24 مرداد 1391, 18:19 عصر
من یک قایل XML رو در یک کنترل Treeview نمایش می دهم
الان می خوام تمام مسیرهای که از تگ ریشه شروع میشه و به برگ ها ختم میشه رو پیدا کنم

مثلا مسیر bookstore/book /title یا مسیر bookstore/book /author تو فایل XML پایین

<bookstore>
<book>
<title>Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
</bookstore>

hamidkh
سه شنبه 24 مرداد 1391, 18:29 عصر
برگ مورد نظر در هر سطحی که هست نودهای بالاترش میشن مسیر رسیدن ریشه به برگ.استفاده از خاصیت parent نودهای درخت

13601360
سه شنبه 24 مرداد 1391, 18:42 عصر
یک نمونه کد ندارید ؟

hamidkh
سه شنبه 24 مرداد 1391, 19:03 عصر
ArrayList array = new ArrayList();

TreeNode node = treeView1.SelectedNode;

TreeNode parent = node.Parent;

array.Add(node.Text);

while (parent != null)
{

array.Add(parent.Text);
parent = parent.Parent;

}
string path = "";

for (int i = array.Count - 1; i >= 0; i--)

{

path += array[i] + "/";
}