XDocument _doc = XDocument.Load("XXX.xml"); //Load Xml file
//The first parent node
IEnumerable<XElement> _elms =_doc.Elements("FirstNodeName");
foreach (var name in _doc.Root.DescendantNodes().OfType<XElement>().Select(x => x.Name))
{
Debug.WriteLine(name);
}
以上的程式碼會印出所有節點的名稱。
如果需要dinstinct,只要在Linq Extension加上Distinct …
_doc.Root.DescendantNodes().OfType<XElement>().Select(x => x.Name).Distinct()
_doc.Root.DescendantNodes().OfType<XElement>().Select(x => x.Name).Distinct()
延伸應用:
選擇性印出某個Node底下的值(例如Node name為XXXX,底下某個子node為YYYY的值):
foreach (var node in _doc.Root.DescendantNodes().OfType<XElement>())
foreach (var node in _doc.Root.DescendantNodes().OfType<XElement>())
{
if (node.Name.ToString().Equals("XXXX"))
{
Debug.WriteLine(node.Element("YYYY").Value);
}
}
沒有留言:
張貼留言