如下xml文件:
  <?xml version="1.0" encoding="utf-8" ?> 
- <maplist>
- <map>
  <mapname>测试地图1</mapname> 
  <mapx>101.1</mapx> 
  <mapy>302.1</mapy> 
  <mapz>132.1</mapz> 
  </map>
- <map>
  <mapname>测试地图2</mapname> 
  <mapx>101.1</mapx> 
  <mapy>2211.1</mapy> 
  <mapz>302.1</mapz> 
  </map>
  </maplist>我这样写的是否正确?
如果我要读出第一个mapname的值,由于有两个mapname节点,是否会冲突?
如果不冲突,我想把mapname绑定到一个combobox里,显示的是mapname的值
然后下面有3个textbox,将x y z的值写在textbox里,该如何绑定?

解决方案 »

  1.   

    JAVA可以将XML解析成对象的,估计C#也可以
    建议先解析成对象再绑
      

  2.   

    用XMLDatareader这个跟SQL 可以类比,毕竟XMl也是小型数据库呀~
    楼主最好参考MSDN,或者搜下关于XML的相关例子
      

  3.   

    获取XML到DATASET,再查询绑定数据
    参考
      

  4.   

    把XML反序列化成类,然后再取值,赋个列表 ,当然就简单的办法就是用LinQ一条语句就可以了
      

  5.   

    XmlDocument aDoc = new XmlDocument();
    aDoc.Load( @"D:\1.xml" );   //XML的文件
    XmlNodeList xnodelist = aDoc.SelectNodes( "/maplist/map/mapname" );
    IEnumerable<string> list = from xe in xnodelist.OfType<XmlNode>()
                               select xe.InnerText;然后你可以用这个list去绑定
      

  6.   

    如果我同时也要得到节点:
    mapx
    mapy
    mapz
    的值该如何做?