where are you processing the xml file? use XmlDocument's DOM methods or XSLT transformation

解决方案 »

  1.   

    一个笨办法,把xml的内容读入DataSet的DataTable里,再在DataTable里判断行列取得相应数据
    呵呵,我也期待能看到更好的办法
      

  2.   

    如果这样那直接用DataTable不是更好吗?
    请问DOM是什么?怎么操作的?
      

  3.   

    用xmldocument对象直接操作xmldom是 document object model文档对象模型具体的操作你到搜索里去找“xml”,有很多这样的问题
      

  4.   

    用xmldocument对象直接操作xmldom是 document object model文档对象模型具体的操作你到搜索里去找“xml”,有很多这样的问题
      

  5.   

    当然可以:
    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.Load(fileName);
          XmlElement xmlRootNode=xmlDoc.DocumentElement;
          System.Xml.XmlNodeList selNodes= xmlRootNode.SelectNodes("//hello");  //查询方法,得到结果集
      

  6.   

    不懂XML,再请问,这样筛选到的数据怎么填充到DataSet里?
    System.Xml.XmlNodeList selNodes= xmlRootNode.SelectNodes("//hello");  这样是整个文档的数据都填充进去,我只要一部分,要怎么写?
    DataSet ds = new DataSet();
    ds.ReadXml(Server.MapPath("resultxml.xml"));
      

  7.   

    筛选到的数据怎么填充到DataSet里? 
      --既然你最后还是要填充DataSet,那干吗非要用xml去筛选,用DataTable、 DataView不就可以了?
      

  8.   

    错了,错了,不要填充到DataSet里面!!!
    要取得number大于003的记录,下面这个条件应该怎么写呢?
    xmlRootNode.SelectNodes("???");XML文件:
    <?xml version="1.0" standalone="yes" ?> 
    <Schema1>
      <bool number="001" name="aaa"/> 
      <bool number="002" name="bbb"/> 
      <bool number="003" name="ccc"/> 
      <bool number="004" name="ddd"/>
      <bool number="005" name="eee"/> 
      <bool number="006" name="fff"/> 
    </Schema1>
      

  9.   

    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.Load("resultxml.xml");
    XmlElement xmlRootNode=xmlDoc.DocumentElement;System.Xml.XmlNode selNodes=xmlRootNode.SelectSingleNode("//Schema1");for(int i=0;i<selNodes.ChildNodes.Count;i++)
    {
     Response.Write(selNodes.ChildNodes[i].Attributes["number"].Value);
    }上面这样写可以执行,但是为什么这一句一改就不行了呢?这个条件应该怎么写才行???
    System.Xml.XmlNode selNodes=xmlRootNode.SelectSingleNode("//Schema1//bool[@number='003']");出错:未将对象引用设置到对象的实例