registers.xml中的片断
<?xml version="1.0" encoding="gb2312" ?> 
<聊天室注册用户>
<聊天室成员>
  <呢称>heh</呢称> 
  <口令>11</口令> 
</聊天室成员>
<聊天室注册用户>使用查询:
XmlNode node=xmldoc.SelectSingleNode("//聊天室成员[呢称='"+s1.ToString()+"']");
if(node==null)
{
Label1.Text="没有注册的帐号";
return;
}
这样使用可以选择到"呢称"值为s1的节点,sellor.xml中的片断
<?xml version="1.0" encoding="utf-8" ?> 
<root xmlns="http://tempuri.org/sellor.xsd">
<sellor>
  <id>1</id> 
  <name>测试</name> 
  <price>33</price> 
  <userdb>测试</userdb> 
  <context>测试</context> 
  <pro>测试</pro> 
  <plag>0</plag> 
  <datetime>2002-04-30T22:52:41</datetime> 
</sellor>
</root>
使用查询:
XmlNode node=xmldoc.SelectSingleNode("//sellor[id='"+s1.ToString()+"']");
if(node==null)
{
Label1.Text="查询不到你需要的内容1";
}
else
{
Label1.Text="查询结果";
}
却得不到查询的节点,我输入任何数值node的值都等于null,
比较查询路径,
//聊天室成员[呢称='"+s1.ToString()+"']
//sellor[id='"+s1.ToString()+"']
我看不出什么问题....
文档的格式也相同的

解决方案 »

  1.   

    我也遇到过这个问题,没有找到原因http://blog.joycode.com/ghj/archive/2003/10/20/2995.aspx
      

  2.   

    <?xml version="1.0" encoding="utf-8" ?> 
    改成:
    <?xml version="1.0" encoding="gb2312" ?>
      

  3.   

    终于找到了!!狂喜!!
    原因就在于下面这个属性.
    xmlns="http://tempuri.org/sellor.xsd"这个默认命名空间属性指定了定义本xml文档的文档类型定义(Document Type Definition)DTD如果加上这个属性,该文档必须符合指定DTD文档的定义.否则视为不合法文档.所以加这个属性要注意,楼主加这个属性是否有一定的目的性??