配色: 字号:
查询XML
2013-01-06 | 阅:  转:  |  分享 
  
usingSystem;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Xml;



namespaceXml_Search

{

classProgram

{

staticvoidMain(string[]args)

{

//查询的关键字

stringstrKey;

Console.WriteLine("请输入你要查询的ID");

//当输入的是#结束查询

while((strKey=Console.ReadLine())!="#")

{

//调用查询的方法

Search(strKey);

}

Console.ReadKey();

}



///

///查询的函数

///


///查询的关键字

privatestaticvoidSearch(stringstrKey)

{

try

{//判断输入的关键字是否为空

if(!string.IsNullOrEmpty(strKey))

{

//新建Xml文档

XmlDocumentdoc=newXmlDocument();

//加载文档

doc.Load("G:\\Department.xml");

//新建元素节点

XmlNodenode=doc.DocumentElement;

//如果存在节点而且查询的关键字在合理的范围内

if(node.HasChildNodes&&Convert.ToInt32(strKey)<=node.ChildNodes.Count)

{//循环判断

for(inti=0;i
{//找出与你输入关键字查询的节点node.ChildNodes[i]表示

if(strKey==node.ChildNodes[i].FirstChild.InnerText)

{//node.ChildNodes[i].FirstChild.Name表示(第一个孩子节点的名字),node.ChildNodes[i].FirstChild.InnerText表示第一个孩子节点的值

Console.WriteLine(node.ChildNodes[i].FirstChild.Name+":"+node.ChildNodes[i].ChildNodes[0].InnerText);

//第一个孩子节点的下一个兄弟节点也就是第二个节点这样写也可以node.ChildNodes[i].FirstChild.NextSibling.NextSibling.Name

Console.WriteLine(node.ChildNodes[i].ChildNodes[1].Name+":"+node.ChildNodes[i].ChildNodes[1].InnerText);

//最后一个孩子节点的前一个节点也就是第三个节点

Console.WriteLine(node.ChildNodes[i].ChildNodes[2].Name+":"+node.ChildNodes[i].ChildNodes[2].InnerText);

//最后一个节点

Console.WriteLine(node.ChildNodes[i].ChildNodes[3]+":"+node.ChildNodes[i].ChildNodes[3].InnerText);



}

}

}

else

{

Console.WriteLine("您输入的ID不存在,请重新输入!");

}

}

else

{

Console.WriteLine("您未输入任何信息,请重新输入!");

}

}

catch(Exceptione)

{



Console.WriteLine("错误为"+e.Message);

}

}

}

}







usingSystem;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Xml.Schema;

usingSystem.Xml;



namespaceConsoleApplication1

{

classProgram

{

staticvoidMain(string[]args)

{

stringstrKey;

Console.WriteLine("请输入你要查询的ID");

while((strKey=Console.ReadLine())!="#")

{

XmlDocumentdoc=newXmlDocument();

XmlTextReaderreader=newXmlTextReader("F:\\studentsInfo.xml");

reader.Read();

doc.Load(reader);

XmlNoderoot=doc.SelectSingleNode("Students");

if(root!=null)

{

for(inti=0;i
{

XmlNodec=root.ChildNodes[i];

if(c.Attributes["sno"].Value==strKey)

{

Console.WriteLine("Sno:{0}",c.Attributes["sno"].Value);

Console.WriteLine("Name:{0}",root.ChildNodes[i].ChildNodes[0].InnerText);

Console.WriteLine("Age:{0}",root.ChildNodes[i].ChildNodes[1].InnerText);

}



}

}

}

}

}

}

献花(0)
+1
(本文系巭奥特曼首藏)