当前位置:编程学习 > C#/ASP.NET >>

带命名空间和前缀的XML解析总出错

这是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不知怎么回事?
--------------------编程问答--------------------
string nameSpace = root.GetNamespaceOfPrefix("rs");

or
foreach (XmlAttribute item in root.Attributes){
nsmgr.AddNamespace(item.LocalName, item.Value);
}
--------------------编程问答-------------------- 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)
{
}
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,