gpt4 book ai didi

c# - 从 XElement 读取特定元素

转载 作者:太空宇宙 更新时间:2023-11-03 16:14:18 25 4
gpt4 key购买 nike

我想使用 c# 将共享点列表的选择列中的 MultipleCheckbox 项目绑定(bind)到 asp.net CheckBoxListItem。我正在使用 XELEMENT 检索 List 的信息:

XElement listStructure;

listStructure = proxy.GetList("WebsiteSubscriber");
<Field Type="MultiChoice" DisplayName="Area" Required="FALSE" EnforceUniqueValues="FALSE" Indexed="FALSE" FillInChoice="FALSE" ID="{16cc1615-a490-44de-a870-c7ebe603e2cc}" SourceID="{2c8a80ea-38c5-48f7-9d7d-400d445a5e64}" StaticName="Area" Name="Area" ColName="ntext2" RowOrdinal="0">
<Default>Articles</Default>
<CHOICES>
<CHOICE>Articles</CHOICE>
<CHOICE>Websites</CHOICE>
<CHOICE>Books</CHOICE>
</CHOICES>
</Field>

我想从这个 XML 中读取选择。并仅获取值“文章、网站、书籍”

注意:此 XML 可能包含许多带有 <choices> 的部分我想通过 <fieldType> 进行 fetech或 DisplayName="Area"属性并在 c# 中获取值。

最佳答案

var xml = @"<Field Type=""MultiChoice"" DisplayName=""Area"" Required=""FALSE"" EnforceUniqueValues=""FALSE"" Indexed=""FALSE"" FillInChoice=""FALSE"" ID=""{16cc1615-a490-44de-a870-c7ebe603e2cc}"" SourceID=""{2c8a80ea-38c5-48f7-9d7d-400d445a5e64}"" StaticName=""Area"" Name=""Area"" ColName=""ntext2"" RowOrdinal=""0"">
<Default>Articles</Default>
<CHOICES>
<CHOICE>Articles</CHOICE>
<CHOICE>Websites</CHOICE>
<CHOICE>Books</CHOICE>
</CHOICES>
</Field>";

var doc = XDocument.Parse(xml);

XElement element =
doc.Descendants("Field")
.First(field => (string)field.Attribute("DisplayName") == "Area");


string[] result =
element.Descendants("CHOICE")
.Select(v => (string)v)
.ToArray();


Console.WriteLine(string.Join(Environment.NewLine, result));

打印:

Articles
Websites
Books

关于c# - 从 XElement 读取特定元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16189526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com