Linq,xml和位置 [英] Linq, xml and where

查看:90
本文介绍了Linq,xml和位置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正试图从选择了自治市的xml文件中删除病房:

xml:

I''m trying to get the wards out of the xml file where the municipality has been selected:

xml:

<wards>
  <wardid>0</wardid>
  <municipality>INGQUZA</municipality>
  <ward>04</ward>
  <wardid>1</wardid>
  <municipality>INGQUZA</municipality>
  <ward>04</ward>
  <wardid>2</wardid>
  <municipality>INGQUZA</municipality>
  <ward>05</ward>
  <wardid>3</wardid>
  <municipality>INGQUZA</municipality>
  <ward>07</ward>
</wards>




代码:




The code:

string docLoc = HttpContext.Current.Request.MapPath("~/xml/wards.xml");
var doc=XDocument.Load(docLoc);
var el=
  from wards in doc.Element("wards").Elements("WARD")
  where wards.Elements("MUNICIPALITY") == DropDownList3.Text
  select wards;
foreach (string s in el) {
  DropDownList4.Items.Add(s);
}



如果我忽略了where子句,它将返回所有病房,如何获得它返回在下拉列表中选择了自治市的病房?



If I leave out the where clause, it returns all the wards, how do I get it to return the wards where the municipality is selected in the dropdowlist?

推荐答案

您需要评估元素的值,而不是元素本身

You need to evaluate the value of the element, not the element itself

var el =
   from wards in doc.Elements("wards").SelectMany(e => e.Elements("municipality"))
   where wards.Value == DropDownList3.Text
   select wards.Parent;



请注意,xml区分大小写,因此MUNICIPALITY与市镇有所不同



Keep in mind xml is case sensitive so MUNICIPALITY is different than municipality


<?xml version ="1.0" encoding ="utf-8"?>
< wards>
< wardsrec WARDID ="0"
MUNICIPALITY ="INGQUZA"
WARD ="04">
</wardsrec>
< wardsrec WARDID ="1"
MUNICIPALITY ="INGQUZA"
WARD ="04">
</wardsrec>
< wardsrec WARDID ="7"
MUNICIPALITY ="KING SABATA DALINDYEBO"
WARD ="01">
</wardsrec>
< wardsrec WARDID ="8"
MUNICIPALITY ="KING SABATA DALINDYEBO"
WARD ="02">
</wardsrec>
< wardsrec WARDID ="9"
MUNICIPALITY ="KING SABATA DALINDYEBO"
WARD ="03">
</wardsrec>
< wardsrec WARDID ="10"
MUNICIPALITY ="KING SABATA DALINDYEBO"
WARD ="04">
</wardsrec>
</wards>
<?xml version="1.0" encoding="utf-8"?>
<wards>
<wardsrec WARDID="0"
MUNICIPALITY="INGQUZA"
WARD="04">
</wardsrec>
<wardsrec WARDID="1"
MUNICIPALITY="INGQUZA"
WARD="04">
</wardsrec>
<wardsrec WARDID="7"
MUNICIPALITY="KING SABATA DALINDYEBO"
WARD="01">
</wardsrec>
<wardsrec WARDID="8"
MUNICIPALITY="KING SABATA DALINDYEBO"
WARD="02">
</wardsrec>
<wardsrec WARDID="9"
MUNICIPALITY="KING SABATA DALINDYEBO"
WARD="03">
</wardsrec>
<wardsrec WARDID="10"
MUNICIPALITY="KING SABATA DALINDYEBO"
WARD="04">
</wardsrec>
</wards>


这篇关于Linq,xml和位置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆