public List<string> XMLitems(XPathDocument xml, string item, bool unique = false, bool sorted=false)
{
List<string> ret = new List<string>();
Dictionary<string, int> uniqueness = new Dictionary<string, int>();
var nodes_iter = xml.CreateNavigator().SelectDescendants(item, "", true);
while(nodes_iter.MoveNext())
{
if (unique)
{
if (uniqueness.ContainsKey(nodes_iter.Current.Value))
continue;
uniqueness.Add(nodes_iter.Current.Value, 0);
}
ret.Add(nodes_iter.Current.Value);
}
if (sorted)
ret.Sort();
return ret;
}