日期:2014-05-18  浏览次数:20401 次

.net读取匹配 xml配置文件数据
.xml配置文件代码:
<?xml version="1.0" encoding="utf-8" ?>
<ProxyNumber>
  <usernumber>13422881800 </usernumber>
  <usernumber>13418780363 </usernumber>
  <usernumber>13530651001 </usernumber>
  <usernumber>13825201088 </usernumber>
  <usernumber>13554956781 </usernumber>
  <usernumber>13640727458 </usernumber>
</ProxyNumber>
  

问题:c#中,判断输入的usermame是否在配置文件的数据集中,也就是判断哪个电话号码是不是上面的这些

怎么在c#中读取,并判断?

------解决方案--------------------
XmlDocument xmlDoc=new XmlDocument();
xmlDoc.Load(@"xml文件的完全限定名");
if(xmlDoc.DocumentElement.InnerXml.Contains("你输入的号码"))
//存在
else
//不存在
------解决方案--------------------
System.Xml.XmlDocument xml = new System.Xml.XmlDocument();
xml.Load(Server.MapPath("XMLFile.xml"));//加载xml文件
System.Xml.XmlNodeList list= xml.ChildNodes[1].ChildNodes;
System.Xml.XmlElement[] str = list.Cast<System.Xml.XmlElement>().ToArray();

if (str.Select(t=>t.InnerText.Contains("13530651001")).Count()>0)//判断是不是存在
Response.Write("<script>alert('存在')</script>"); 
else Response.Write("<script>alert('不存在')</script>");
------解决方案--------------------
Linq To XML:
VB.NET code

Dim xDoc = XDocument.Load(Server.MapPath("~/Test/Test.xml"))
Dim list = xDoc.Elements().First().Elements().Select(Function(p As System.Xml.Linq.XElement) p.Value = "13422881800")
If list.Count > 0 Then
  Response.Write("存在此用户")
Else
  Response.Write("不存在此用户")
End If