gpt4 book ai didi

c# - Linq to XML - 根据 if 语句设置 Xelement 值

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

我正在使用 linq to xml 创建一个 xml。

在一个元素中,我想根据语句控制元素的值

<Type>Query</Type>

“查询”取决于对象中的几个变量,所以我必须运行 1-2 个 if 语句。(这是正在编写的大 xml 的一部分)我知道我写的东西不可能用这种方式,我正在寻找一种以任何可能的合法方式做到这一点的方法

new XElement("Parameters",
from p in parameters.ParametersList
select
new XElement("Parameter",
new XAttribute("ID", "??"),
new XAttribute("Name", p.Name),
new XElement("Prompt", p.Prompt),
if (p.validvalues.count == 0)
new XElement("Type", "None")
else if (p.something == something)
new XElement("Type, "List")

最佳答案

您可以使用 ternary operator (?:):

new XElement("Type", (p.validvalues.Count() == 0) ? "None" : "List")

如果您有复杂的条件或许多可能的值,您可以提取获取此节点值的方法:

new XElement("Type", GetParameterType(p))

private string GetParameterType(Parameter p)
{
if (p.validvalues.Count() == 0)
return "None";

if (p.something == something)
return "List";

// etc
}

关于c# - Linq to XML - 根据 if 语句设置 Xelement 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14567229/

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