//XML文件:
=================================================================<?xml version="1.0" encoding="utf-8"?>
<Book>
<Authors>
<ISBN>0001</ISBN>
<Title>TestTitle1</Title>
<Date>2004/04/01</Date>
<Content>TestContent</Content>
</Authors>
<Authors>
<ISBN>0002</ISBN>
<Title>TestTitle2</Title>
<Date>2004/04/02</Date>
<Content>TestContent</Content>
</Authors>
<Authors>
<ISBN>0003</ISBN>
<Title>TestTitle3</Title>
<Date>200405/01</Date>
<Content>TestContent</Content>
</Authors>
</Book>==============================================================读取此XML文件的指定节点如:Book/Authors[ISBN=\"0002\"]的所有节点及内容。返回一个DataSet对像。试过用XmlNode对像的OuterXml等方法,其所返回的都是字符串。非DataSet。现需返回DataSet做DataGrid的梆定。代码应该怎么写?

解决方案 »

  1.   

    XmlDocument xml=new XmlDocument();//XmlDocument代表xml文档
    xml.Load(@"d:\\xxx.xml");
    XmlNode nod=xml.SelectSingleNode("NewDataSet");//查找第一个NewDataSet节点
    XmlElement ele=xml.CreateElement("zds");//在第一个节点里添加一个zds的元素
    ele.SetAttribute("qwer","asdf");//在元素里加属性
    ele.SetAttribute("zxcv","zzzz");
    xml.Save(@"d:\\xxx.xml");
    DataSet ds=new DataSet();
    ds.ReadXml(@"d:\\xxx.xml")
      

  2.   

    try:XmlDocument doc=new XmlDocument();
    doc.Load(@"e:\test.xml");XmlNode node=doc.SelectSingleNode("/Book/Authors[ISBN='0002']");
    StringReader read=new StringReader(node.OuterXml);
    DataSet ds=new DataSet();
    ds.ReadXml(read);
    dataGrid1.DataSource=ds;
      

  3.   

    XmlDocument doc=new XmlDocument();
    doc.Load(@"e:\test.xml");XmlNode node=doc.SelectSingleNode("/Book/Authors[ISBN='0002']");
    StringReader read=new StringReader(node.OuterXml);
    DataSet ds=new DataSet();
    ds.ReadXml(read);
    dataGrid1.DataSource=ds;