XML文档如下:
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<admin>
<id>1</id>
<name>admin</name>
<pwd>1</pwd>
</admin>
</NewDataSet>
有两个参数name,pwd,如何验证他们的值与XML文档中的name和pwd两个字段的值相同,如果相同返回1,只要有一个参数不同,就返回0。注:用C#语言。
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<admin>
<id>1</id>
<name>admin</name>
<pwd>1</pwd>
</admin>
</NewDataSet>
有两个参数name,pwd,如何验证他们的值与XML文档中的name和pwd两个字段的值相同,如果相同返回1,只要有一个参数不同,就返回0。注:用C#语言。
解决方案 »
- 关于C#属性
- 求助:从TabPages动态提取DataGridView的问题
- 怎么屏蔽ctrl+alt+del alt+tab热键
- VS2005里面的toolscrip里面的怎么没有这个属性。
- TextBox数据绑定问题,非常急 在线等
- DataReader内存泄露问题(要考虑内存)
- 求助:TreeView组件的使用
- 很郁闷呀。textedit获取值
- 控件上传图片,须支持PDF文件类型
- 各位谁有Visual Studio.net2002版的,帮我看看第三张盘容量是多大!
- C#中tooltip不能够工作,不知道为什么,求教阿!
- 在richtextbox中使用richtextbox.lines[number]的办法操作每行的字符串遇到的问题
{
XmlDocument x = new XmlDocument();
x.Load(@"d:\x.xml");
XmlNode n = x.SelectSingleNode("/NewDataSet/admin");
if(n)
{
if("admin"== (n.SelectSingleNode("name")).InnerText && "1"== (n.SelectSingleNode("pwd")).InnerText)
return 1;
else
return 0;
}
}
{
XmlDocument x = new XmlDocument();
x.Load(@"d:\x.xml");
XmlNode n = x.SelectSingleNode("/NewDataSet/admin");
if(n)
{
if(a== (n.SelectSingleNode("name")).InnerText && b== (n.SelectSingleNode("pwd")).InnerText)
return 1;
else
return 0;
}
}
2、得到节点的text,然后跟你的name,pwd对比如果你对xquery不熟悉的话,就用第二种办法吧
msdn上有详细的读取xml的例子
StringReader stringReader = new StringReader(xmlStr);
XmlTextReader xmlTextReader = new XmlTextReader(stringReader);
xmlTextReader.XmlResolver = null;XPathDocument xpDoc = new XPathDocument(xmlTextReader);
XPathNavigator xpNav = xpDoc.CreateNavigator();XPathNodeIterator xpNodIter = xpNav.Select(xpath);
if(xpNodIter.MoveNext())
{
nodeValue = xpNodIter.Current.ToString();
}
xpath是你的节点路径
/NewDataSet/admin/name
和
/NewDataSet/admin/pwd
{
Reader.WhitespaceHandling = WhitespaceHandling.None;
Reader.MoveToContent();
While(Reader.Read())
{
if (Reader.NodeType == XmlNodeType.Text && Reader.Value == name)
{
Reader.Read();
Reader.Read();
Reader.Read();
if (Reader.NodeType == XmlNodeType.Text && Reader.Value == pwd)
{
return 1;
}
}
}
return 0;
}