C# 如何在Linq查询中添加输入检查以仅在输入有效时构建XML
我有一个用于构建XML的输入值。只有当值存在时,我才需要构建子元素 范例C# 如何在Linq查询中添加输入检查以仅在输入有效时构建XML,c#,linq-to-xml,C#,Linq To Xml,我有一个用于构建XML的输入值。只有当值存在时,我才需要构建子元素 范例 string classInput="something"; XDocument classes = new XDocument( new XElement("Classes", new XElement("Class",
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。i、 e在上述情况下,我只想构建:
如果,说classInput=“”
尝试在查询中添加一个检查,但随后它将按字符而不是字符串处理字符串classInput。然后我得到
<Classes>
<Class>
<Name>something</Name>
</Class>
</Classes>
某物
我有更多的输入,我必须以同样的方式构建更多的子元素,因此我需要一个可扩展的解决方案。使用a检查输入,如果输入为null或空,则返回null:
XDocument classes = new XDocument(
new XElement("Classes", String.IsNullOrEmpty(classInput) ?
null :
new XElement("Class",
new XElement("Name", classInput))
));