首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于XML的查询解决办法

2012-01-20 
关于XML的查询test   Nametype name1      ppcode S001 /code       aa 长城酒店 /aa    

关于XML的查询
test>      
       <Name   type= "name1 ">      
         <pp>      
                            <code> S001 </code>      
           <aa> 长城酒店 </aa>      
         </pp>
                    <pp>      
                            <code> S002 </code>      
           <aa> 长城饭店 </aa>      
         </pp>    
         <pp>      
                            <code> S003 </code>      
           <aa> 长城大酒店 </aa>      
         </pp>      
            </Name>          
</test>      
我的数据库就是这么一个XML文件,当我在输入框中输入 "酒店 "时,我怎样得到1和3节点的“长城酒店”和“长城大酒店”的值呢,就想sql的like一样,我在网上查了查,看到XML的查询语言xql,请问我在C#中该怎么使用呢,或者尤其他的方法吗?请指教

[解决办法]
找本书研究下Xpath的语法,用的少,无法帮助LZ
[解决办法]
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.LoadXml(@ " <test> <Name type= 'name1 '> <pp> <code> S001 </code>
       <aa> 长城酒店 </aa>
     </pp>
<pp>
<code> S002 </code>
       <aa> 长城饭店 </aa>
     </pp>
     <pp>
<code> S003 </code>
       <aa> 长城大酒店 </aa>
     </pp>
</Name>
</test> ");
string keyword= "酒店 ";
string xpath = "contains(string(aa), ' " + keyword + " ') ";
System.Xml.XmlNodeList nodes = doc.SelectNodes( "/test/Name/pp[ " +xpath + "]/code ");
foreach(System.Xml.XmlNode x in nodes)
{
Response.Write( " <li> " + x.InnerText);
}
[解决办法]
曾经也头疼过这个问题,用xpath的话比较麻烦,另外是在C#中进行操作,
感觉可以这样,先把这个xml生成DataSet数据集,然后对这个DataSet数据集
进行操作,比如先对这个DataSet数据集进行循环验证,看哪些包含查询条件的
都写入到一个新的数据集中,然后用这个新的数据集绑定页面的列表。
[解决办法]
孟子出现了....
[解决办法]
感觉从可操作性上来讲,把它读到DataSet里比较好做,呵呵

是呀,孟子是人牛,呵呵

热点排行