我有以下代码,
XDocument doc = XDocument.Parse(input);
var nodes = doc.Element(rootNode)
.Descendants()
.Where(n =>
(n.Value != "0"
&& n.Value != ".00"
&& n.Value != "false"
&& n.Value != "")
|| n.HasElements)
.Select(n => new
{
n.Name,
n.Value,
Level = n.Ancestors().Count() - 1,
n.HasElements
});
var output = new StringBuilder();
foreach (var node in nodes)
{
if (node.HasElements)
{
output.AppendLine(new string(' ', node.Level) + node.Name.ToString() + ":");
}
else
{
}
我的问题是,如果我的父节点只有一个空子节点,我需要插入一个额外的空行。我不知道如何检查唯一的孩子是否为空。
我可以使用获得后代的数量Descendants = n.Descendants().Count()
但我不知道如何测试唯一的孩子是否为空。