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()+"']
我看不出什么问题....
文档的格式也相同的
<?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()+"']
我看不出什么问题....
文档的格式也相同的
改成:
<?xml version="1.0" encoding="gb2312" ?>
原因就在于下面这个属性.
xmlns="http://tempuri.org/sellor.xsd"这个默认命名空间属性指定了定义本xml文档的文档类型定义(Document Type Definition)DTD如果加上这个属性,该文档必须符合指定DTD文档的定义.否则视为不合法文档.所以加这个属性要注意,楼主加这个属性是否有一定的目的性??