gpt4 book ai didi

c# - 在 XML 中选择列表

转载 作者:数据小太阳 更新时间:2023-10-29 02:29:05 25 4
gpt4 key购买 nike

我只想从变量中选择user list="default"user list="otherListName" 的内容。就像当我的变量等于 default 时,我想选择 user list="default" 的内容。我的意思是内容:

<list nom="Nom" description="Description" image="no_image.png"/>

我希望将这些内容解析成一个列表

<list nom="" description="" image=""/>
<list nom="" description="" image=""/>


<?xml version="1.0" encoding="utf-8"?>
<database>
<user list="default">
<list nom="Nom" description="Description" image="no_image.png"/>
</user>
<user list="otherListName">
<list nom="" description="" image=""/>
<list nom="" description="" image=""/>
</user>
</database>`

我希望我的问题是可以理解的。

最佳答案

您可以使用 LINQ-to-XML,例如,假设 docXDocument包含原始 XML 的变量:

var listName = "default";
var result = doc.Root
.Elements("user")
.Where(o => (string)o.Attribute("list") == listName)
.Elements("list");

查看 dotnetfiddle 中的现场演示:

var raw = @"<?xml version='1.0' encoding='utf-8'?>
<database>
<user list='default'>
<list nom='Nom' description='Description' image='no_image.png'/>
</user>
<user list='otherListName'>
<list nom='' description='' image=''/>
<list nom='' description='' image=''/>
</user>
</database>";
var doc = XDocument.Parse(raw);

var listName = "default";
var result = doc.Root
.Elements("user")
.Where(o => (string)o.Attribute("list") == listName)
.Elements("list");

foreach(var r in result)
{
Console.WriteLine(r.ToString());
}

输出:(对于 listName = "default")

<list nom="Nom" description="Description" image="no_image.png" />

关于c# - 在 XML 中选择列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37636388/

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