我正在开发一个自定义搜索控件并根据下面的示例 XML 设置其配置。因此,如果用户在他的 ASPX 页面中使用我的控件并在他的页面中声明一个属性为:
<ccl:Search control id='searchtextbox' PageName='Master' />
然后我需要考虑Pagename name='Master'并设置在此提到的所有属性。同样对于 PageName='SearchResults'
<configuration>
<Pagename name='Master'>
<Key id='DefaultText'>Search</Key>
<Key id='SearchBoxCss'>btn</Key>
<Key id='ButtonText'>Search</Key>
<Key id='AutocompleteEnabled'>true</Key>
<Key id='EnableFilterDropNames'>false</Key>
<Key id='FilterDropNames'>All Areas;Articles</Key>
</Pagename>
<Pagename name='SearchResults'>
<Key id='DefaultText'>Search</Key>
<Key id='SearchBoxCss'>btn</Key>
<Key id='ButtonText'>Search</Key>
<Key id='AutocompleteEnabled'>false</Key>
<Key id='EnableFilterDropNames'>false</Key>
<Key id='FilterDropNames'>All Areas;Articles;Products</Key>
</Pagename>
</configuration>
您能否建议根据Master或SearchResults选择必要的LINQ代码
我试过的:
var ch = from elem in doc.Descendants("Pagename")
where elem.Attribute(XName.Get("name")).Value == "Master"
select new
{
Children = elem.Descendants("Key").Attributes()
};
这只会返回属性列表,而不是必要的值。