【发布时间】:2012-01-02 20:41:52
【问题描述】:
我有 XML(不完全是这么简单,但对于我的问题来说已经足够了)。
如果我编写如下代码
var xdoc = XDocument.Parse(@"
<Root>
<Item>
<Node1>Value 1</Node1>
<Node2>Value 2</Node2>
<Node3>Value 3</Node3>
<Node4>Value 4</Node4>
<Node5>Value 5</Node5>
<Node6>Value 6</Node6>
</Item>
</Root>");
var results = xdoc.Root
.Elements("Item")
.Descendants()
.Select(e => new { ElementName = e.Name, ElementValue = e.Value });
这将为我提供“Item”元素的所有后代(节点名称和节点值)的结果列表。我想问的是如何根据条件获得不同的数据集。例如,如果 Node1 或 Node2 有一个值(非空),那么我只想要 Node1 和 Node2 的结果列表(节点名称和值),否则结果列表应该显示其他节点,即 Node3、Node4、Node5 和Node6(节点名称和值)。请帮忙。谢谢。
【问题讨论】:
标签: linq-to-xml