我有一个xml文件,如
<!--Sample Person Data-->
<Person>
<PersonDetail PersonId="1">
<Name>Priyanka Das</Name>
<Age>30</Age>
<Sex>Male</Sex>
<LivesIn>Bangalore</LivesIn>
<Email>nb@training.com</Email>
</PersonDetail>
<PersonDetail PersonId="2">
<Name>Shashidhar Nikatani</Name>
<Age>40</Age>
<Sex>Male</Sex>
<LivesIn>Bangalore</LivesIn>
<Email>sn@training.com</Email>
</PersonDetail>
<PersonDetail PersonId="3">
<Name>Arundhuti Roy</Name>
<Age>27</Age>
<Sex>Female</Sex>
<LivesIn>Kerala</LivesIn>
<Email>ab@training.com</Email>
</PersonDetail>
<PersonDetail PersonId="4">
<Name>Nitin Mallik</Name>
<Age>28</Age>
<Sex>Male</Sex>
<LivesIn>Bangalore</LivesIn>
<Email>ng@training.com</Email>
</PersonDetail>
<PersonDetail PersonId="5">
<Name>Essaki Raja Kandaswamy</Name>
<Age>27</Age>
<Sex>Male</Sex>
<LivesIn>Madras</LivesIn>
<Email>er@training.com</Email>
</PersonDetail>
</Person>
我需要了解居住在班加罗尔的人的详细信息。
我已完成以下操作,但无法获得任何结果
XDocument xmlSource = null;
xmlSource = XDocument.Load(@"D:\Personsample.xml");
var query = from data in xmlSource.Descendants("Person")
where (string)data.Element("LivesIn") == "Bangalore"
select data;
需要帮助
答案 0 :(得分:3)
“人”没有直接的“LivesIn”子女,所以data.Element("LivesIn")
总是不会产生任何东西。
你确定你不是故意的:
from data in xmlSource.Descendants("PersonDetail")
where (string)data.Element("LivesIn") == "Bangalore"
select data;