2012-12-14 26 views
0

授权我有如下的xml:检查从XML userwise

<?xml version="1.0" encoding="utf-8" ?> 
<menus> 
    <menu name="WeightManagement"> 
    <user name="eu01\bsoni"></user> 
    <user name="eu01\bve"></user> 
    </menu> 
    <menu name="CategoryManagement"> 
    <user name="eu01\bsoni"></user> 
    </menu> 
</menus> 

我有Windows身份验证,并希望O检查,如果用户“eu01 \ BVE”访问体重管理或CategoryManagement菜单。

我该如何从xml中随机检查菜单和用户?

+0

可以将用户同时访问'WeightManagement'和'CategoryManagement' – Anirudha

回答

0

你也可以做

var doc=XDocument.Load(yourXmlFile); 
string access=doc.Descendants().Elements("user") 
       .Where(x=>x.Attribute("name").Value=="eu01\bve") 
                 --------- 
       .First().Parent.Attribute("name").Value; 
+0

谢谢..我做到了使用下面的行XmlNode userNode = docMappingXml.SelectSingleNode(string.Format(“menus/menu [@name ='{0}']/user [@name ='{1}']”,Menu,UserName)); –

1

要获得菜单用户可以访问:

var xDoc = XDocument.Load(xmlfile); 

var menus = xDoc.XPathSelectElements(@"//user[@name='eu01\bve']") 
       .Select(e => e.Parent.Attribute("name").Value) 
       .ToList();