这是XML文档,我想取最后<rs:data>中的数据,但获取不到该节点,大侠们帮我看看怎么回事<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
 xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
        xmlns:rs='urn:schemas-microsoft-com:rowset'
 xmlns:z="#RowsetSchema">
<s:Schema id='RowsetSchema'>
 <s:ElementType name='row' content='eltOnly' rs:updatable='true'>
  <s:AttributeType name='c0' rs:name='门店号' rs:number='1'>
   <s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='3' rs:maybenull='false'/>
  </s:AttributeType>
  <s:AttributeType name='c1' rs:name='开始日期' rs:number='2'>
   <s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='19' rs:maybenull='false'/>
  </s:AttributeType>
  <s:AttributeType name='c2' rs:name='结束日期' rs:number='3'>
   <s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='19' rs:maybenull='false'/>
  </s:AttributeType>
  <s:extends type='rs:rowbase'/>
 </s:ElementType>
</s:Schema>
<rs:data>
 <z:row c0='001' c1='2011-02-16 16:23:40' c2='2011-02-16 16:24:27'/>
</rs:data>
</xml>XmlDocument doc = new XmlDocument();
doc.Load(xmlFile.FullName);  //载入文件
XmlElement   root = doc.DocumentElement;
string nameSpace = root.NamespaceURI;
XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
nsmgr.AddNamespace("rs", nameSpace);XmlNode node = root.SelectSingleNode("rs:data", nsmgr);     //该处node一直为null不知怎么回事?

解决方案 »

  1.   

    string nameSpace = root.GetNamespaceOfPrefix("rs");
    or
    foreach (XmlAttribute item in root.Attributes){
    nsmgr.AddNamespace(item.LocalName, item.Value);
    }
      

  2.   

    XmlDocument doc = new XmlDocument();
    doc .Load(Server.MapPath("~/1.xml"));
    XmlNamespaceManager m = new XmlNamespaceManager(doc .NameTable);
    m.AddNamespace("a", "");
    m.AddNamespace("xs", "x");
    m.AddNamespace("msdata", "urn:schemas-microsoft-com:xml-msdata");
    XmlNodeList ns = d.SelectNodes("",m);
    foreach (XmlNode n in ns)
    {
    }