【发布时间】:2011-06-07 00:00:22
【问题描述】:
我有一个需要用来构建 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>
我有更多的输入,我必须以相同的方式构建更多的子元素,所以我需要一个可扩展的解决方案。
【问题讨论】:
标签: c# linq-to-xml