我现在有一个XML文件(在桌面),将这个文件导到richtextbox1中,然后根据输入的关键字,将指定的内容全部输出到richtextbox2中,请帮忙解决?XML文件内容:
<区县>海淀
<name>居庸关长城
<introduce>
<environment/> 世界文化遗产、国家首批AAAAA级景区、全国文明风景旅游区、第一批全国重点文物保护单位。 <address/> 地 址: 北京市海淀区颐和园路
<tickets/>门 票: 20元(淡季),30元(旺季);通票50元(淡季),60元(旺季)</introduce>
</name>
<name>黄花城水长城
<introduce>
<environment/>北京黄花城水长城旅游区位于北京市怀柔区九渡河镇境内,距北京市区65公里,怀柔区中心西北35公里。
<address/> 地 址: 北京市海淀区颐和园路
<tickets/>门 票: 20元(淡季),30元(旺季);通票50元(淡季),60元(旺季)</introduce>
</name>
1):当关键字输入‘居庸关长城地址’时可以把“地 址: 北京市海淀区颐和园路”输出到richtextbox2中。2):当关键字输入‘长城’时,可以把“<name>居庸关长城 到结束</name> 和 <name>黄花城水长城到到结束</name>”的所有内容全部输出到richtextbox2中。
请指教!
<区县>海淀
<name>居庸关长城
<introduce>
<environment/> 世界文化遗产、国家首批AAAAA级景区、全国文明风景旅游区、第一批全国重点文物保护单位。 <address/> 地 址: 北京市海淀区颐和园路
<tickets/>门 票: 20元(淡季),30元(旺季);通票50元(淡季),60元(旺季)</introduce>
</name>
<name>黄花城水长城
<introduce>
<environment/>北京黄花城水长城旅游区位于北京市怀柔区九渡河镇境内,距北京市区65公里,怀柔区中心西北35公里。
<address/> 地 址: 北京市海淀区颐和园路
<tickets/>门 票: 20元(淡季),30元(旺季);通票50元(淡季),60元(旺季)</introduce>
</name>
1):当关键字输入‘居庸关长城地址’时可以把“地 址: 北京市海淀区颐和园路”输出到richtextbox2中。2):当关键字输入‘长城’时,可以把“<name>居庸关长城 到结束</name> 和 <name>黄花城水长城到到结束</name>”的所有内容全部输出到richtextbox2中。
请指教!
XML 操作类很多啊
随便找一个就能解决.
TreeNode nodes = TreeView.Nodes.Add(Name);
foreache(XmlNodes var in nodes.ChileNodes)
{
if(var.name == "Name")
//然后判断!~
//代码略
}
{
string ss = "";
ss += "<?xml version='1.0' encoding='gb2312'?>";
ss += "<response id='自动ID'>";
ss += "<requestId></requestId>";
ss += "<content profile='logn'>返回内容</content>";
ss += "</response>";
XmlDocument doc = new XmlDocument();
doc.LoadXml(ss);
XmlNodeList xnl = doc.SelectNodes("request/params/param");
MessageBox.Show(doc.SelectSingleNode("//content[@profile='logn']").InnerText);
}
XML文件内容:
<区县>海淀
<name>居庸关长城
<introduce>
<environment/> 世界文化遗产、国家首批AAAAA级景区、全国文明风景旅游区、第一批全国重点文物保护单位。 <address/> 地 址: 北京市海淀区颐和园路
<tickets/>门 票: 20元(淡季),30元(旺季);通票50元(淡季),60元(旺季)</introduce>
</name>例如:我输入‘居庸关长城地址’就把‘地 址: 北京市海淀区颐和园路’ 这段检索出来?这个具体代码怎么写?
doc.Load("");
foreach (System.Xml.XmlNode n in doc.DocumentElement.SelectNodes("name[contains(Name,'')]"))
{
}LINQ 查询
var p= from c in XElement.Load("").Elements("")
select c ;
TreeNode nodes = TreeView.Nodes.Add(Name);
foreache(XmlNodes var in nodes.ChileNodes)
{
if(var.name == "Name")
//然后判断!~
//代码略
}
<区县>海淀
<name>居庸关长城
<introduce>
<environment/> 世界文化遗产、国家首批AAAAA级景区、全国文明风景旅游区、第一批全国重点文物保护单位。 <address/> 地 址: 北京市海淀区颐和园路
<tickets/>门 票: 20元(淡季),30元(旺季);通票50元(淡季),60元(旺季)</introduce>
</name>例如:我输入‘居庸关长城地址’就把‘地 址: 北京市海淀区颐和园路’ 这段检索出来?
这个具体代码怎么写?
要具体代码?上面的没看懂!谢谢!
<区县>海淀
<name>居庸关长城
<introduce>
<environment/> 世界文化遗产、国家首批AAAAA级景区、全国文明风景旅游区、第一批全国重点文物保护单位。 <address/> 地 址: 北京市海淀区颐和园路
<tickets/>门 票: 20元(淡季),30元(旺季);通票50元(淡季),60元(旺季)</introduce>
</name>
然后在我的窗体中有个关键字的文本框(textbox1),当我在textbox1中输入‘居庸关地址’,然后点击button1后,在richtextbox2中就把‘地 址: 北京市海淀区颐和园路’这段显示出来了?这个该怎么做??具体代码能帮写下吗?button1.click()
{
}
谢谢了!
因为你这个xml的实质就是数据的存储
你在学数据库的时候是不是要确定一行所有列的值合起来以后是唯一的啊?
或者通过设定主键来保证唯一性。我是真个意思。如果<name>节点的值可保证唯一性 那么你可以SelectSingleNode("address").InnerText
取值 再加到要显示的控件的值上就可以了。
看这里,Xml完全操作[align=center]***********************************************************
欢迎使用 CSDN 小秘书
CSDN 小秘书
***********************************************************[/align]