我在C#XMLDocument中有以下XML结构。
<result>
<contact id="824" date="1404297626" dlm="1404297626" score="0.00" purl="" bulk_mail="1">
<Group_Tag name="Contact Information">
<field name="First Name">forename</field>
<field name="Last Name">surname</field>
</Group_Tag>
</contact>
</result>
我希望只将联系人的id提取到变量中。我怎么能这样做?
非常感谢任何帮助。
答案 0 :(得分:2)
直接用一点LINQ:
XDocument doc = XDocument.Load("data.xml");
var value = (from n in doc.Descendants("contact")
select n.Attribute("id").Value).SingleOrDefault();
这假定XML中唯一的元素是您显示的元素。如果您有多个元素,则可以考虑使用FirstOrDefault();
。
答案 1 :(得分:1)
尝试该代码
XDocument doc = XDocument.Load(@"Xml.txt");
var res = doc.Root.Descendants().Where(x => x.Name.LocalName.Equals("contact")).FirstOrDefault();
string ContactID = res.Attribute("id").Value;
MessageBox.Show("Your contact ID = "+ ContactID);
或者你可以使用:
var res = (from x in doc.Descendants("contact")
select x.Attribute("id").Value).FirstOrDefault();
MessageBox.Show("Your contact ID = "+ res.ToString());
输出
Your contact ID = 824