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#中该怎么使用呢,或者尤其他的方法吗?请指教
<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#中该怎么使用呢,或者尤其他的方法吗?请指教
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);
}
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.Load("path\\xxx.xml");
感觉可以这样,先把这个xml生成DataSet数据集,然后对这个DataSet数据集
进行操作,比如先对这个DataSet数据集进行循环验证,看哪些包含查询条件的
都写入到一个新的数据集中,然后用这个新的数据集绑定页面的列表。
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)
{
Console.Write("\r\n" + x.InnerText);
}
<test><Name type='name1'>
<pp id='10'>
<code>S001</code>
<aa>长城酒店</aa>
</pp>
<pp id='20'>
<code>S002</code>
<aa>长城饭店</aa>
</pp>
<pp id='30'>
<code>S003</code>
<aa>长城大酒店</aa>
</pp>
</Name>
</test>
pp[@id = '10']可以获得属性