如何在LinqQuery中添加输入检查,以便仅在输入有效的情况下构建XML
本文关键字:输入 有效 情况下 XML 构建 LinqQuery 添加 检查 | 更新日期: 2023-09-27 17:58:27
我有一个需要用来构建XML的输入值。只有当值存在时,我才需要构建子元素。
示例
string classInput="something";
XDocument classes = new XDocument(
new XElement("Classes",
new XElement("Class",
new XElement("Name", classInput))
));
返回我想要的:
<Classes>
<Class>
<Name>something</Name>
</Class>
</Classes>
但是,上面的查询返回:
<Classes>
<Class>
<Name></Name>
</Class>
</Classes>
在classInput为null或空的情况下,但我希望它只在classInput是非空字符串的情况下构建子XML。即在上述情况下,我只想构建:
<Classes />
如果,则说classInput=";
尝试在查询中添加一个检查,但随后它按字符方式处理字符串classInput,而不是作为字符串。然后我得到
<Classes>
<Class>
<Name>something</Name>
</Class>
</Classes>
我有更多的输入,我必须以同样的方式构建更多的子元素,所以我需要一个可以扩展的解决方案。
使用条件运算符检查输入,如果输入为null或空,则返回null:
XDocument classes = new XDocument(
new XElement("Classes", String.IsNullOrEmpty(classInput) ?
null :
new XElement("Class",
new XElement("Name", classInput))
));