private string findPathFromRoot(XmlSchemaElement element, string name,string path)
{
path = String.IsNullOrEmpty(path)? element.Name : path + "/" + element.Name;
if (element.Name.ToLower().Equals(name.ToLower())) return path;
List<XmlSchemaElement> childrens = XmlSchemaUtility.GetAllElements(element, false, Elements);
foreach (var child in childrens)
{
if (!XmlSchemaUtility.IsSimpleType(child))
{
string tmp = findPathFromRoot(child, name, path);
if (!String.IsNullOrEmpty(tmp))
{
path = tmp;
break;
}
}
}
return path;
}