xml文件主要内容
<files>
  <file>
    <id>001</id>
    <name>aa</name>
    <parentid>-1</parentid>
  </file>
  <file>
    <id>002</id>
    <name>aaa</name>
    <parentid>001</parentid>
  </file>
  <file>
    <id>003</id>
    <name>aab</name>
    <parentid>001</parentid>
  </file>
 <file>
    <id>004</id>
    <name>aaba</name>
    <parentid>003</parentid>
  </file>
</files>
如果我希望将xml中子节点parentid为001的节点file下name和id节点和datalist绑定显示该怎么做?
如果希望将子节点parentid为003的节点file下name和id节点和datalist绑定显示该怎么做?

解决方案 »

  1.   

    你看看你的xml文件是否能先转换成DataSet或者ArrayList,然后进行绑定。
      

  2.   

    DataSet dataSet = new DataSet();if ( File.Exists(filePath) )
    {
    dataSet.ReadXml(filePath);
    }DataView dataView = dataSet.Tables[0].DefaultView;
    dataView.RowFilter = "parentid=001";
    dataList.DataSource = dataView;
    dataList.DataBind();
      

  3.   

    呵呵,又是knight大哥你来了,请原谅小弟愚钝,不太明白你的意思
      

  4.   

    先用DataSet读进去,再处理,比较的容易做
      

  5.   

    要绑定datalist,那么它所能绑定的数据源,要么是dataset、datatable或者dataview之类的要么是ArrayList中存入object,通过属性来绑定。你现在给的数据是存放在xml中,让datalist直接去解析xml是不太可能。要么你用DataSet.ReadXml的方法去形成dataset;要么你手动分析xml,去形成dataset或者arraylist,然后进行绑定。
      

  6.   

    to knight94:手动分析xml?给个具体的例子
      

  7.   

    MSDN上有事例的
    你看看就晓得了的
      

  8.   

    FileInfo fileInfo = new FileInfo(filePath);
    Stream stream = file.OpenRead();
    XmlDocument doc = new XmlDocument();
    doc.Load(stream);XmlNode root = doc.SelectSingleNode(files);
    XmlNodeList xmlNodeList = root.SelectNodes("file");foreach ( XmlNode xmlNode in xmlNodeList )
    {
    string s = xmlNode.Value;
    }
      

  9.   

    读取xml有什么问题吗,你参看msdn给的例子,自己修改一下然后经过调试就出来了,没什么难的。不过你所给的xml数据来说不是一个有效的xml文件,需要加上头标示,例如:
    <?xml version="1.0" standalone="yes"?>
      

  10.   

    加上这个标示后,你可以用DataSet.ReadXml试试。