如何筛选 XML 文件中的属性值
本文关键字:文件 属性 XML 何筛选 筛选 | 更新日期: 2023-09-27 18:33:45
请考虑以下 xml 文件
<?xml version="1.0" encoding="utf-8"?>
<RootElement>
<HomeSite>
<Context enabled="1" active="1">
<Culture>en-us</Culture>
<Affiliate>0</Affiliate>
<EmailAddress>sreetest@test.com</EmailAddress>
<Password>sreesree1</Password>
</Context>
<Context enabled="0" active="1">
<Culture>en-us</Culture>
<Affiliate>0</Affiliate>
<EmailAddress>sreetest@test.com</EmailAddress>
<Password>sreesree1</Password>
</Context>
</HomeSite>
</RootElement>
目前我正在做
string applicationType="HomeSite";
XDocument xmlSkuDescDoc = null;
xmlSkuDescDoc = XDocument.Load(@"D:'Config.xml");
var newContextElementCollection = new List<ContextElements>();
//get the property and values
(from data in xmlSkuDescDoc.Descendants(applicationType)
select data)
.Descendants("Context")
.Elements()
.ToList()
.ForEach(i => newContextElementCollection.Add(new ContextElements { Property = i.Name.ToString(), Value = i.Value }));
哪里
public class ContextElements
{
public string Property { get; set; }
public string Value { get; set; }
}
现在出现了一个新的要求,我需要为属性值为 enabled="1" 的上下文获取记录。
那么该怎么做呢?
需要帮助。
这个呢:
xmlSkuDescDoc.Descendants("Context")
.Where(el => el.Attribute("enabled").Value == "1")
.Elements()
.ToList()
.ForEach(i => newContextElementCollection.Add(new ContextElements { Property = i.Name.ToString(), Value = i.Value }));