Как получить все непустые узлы из XElement? - PullRequest
1 голос
/ 16 июля 2010

Я пытаюсь получить все узлы из XElement, который на самом деле имеет значение, в настоящее время я использую этот код:

var nodes = from node in elem.Nodes()
            where node.NodeType == XmlNodeType.Element &&
                  ((XElement) node).Value.Length >  0
            select node;

Есть ли встроенный оператор для этой операции?

Спасибо

1 Ответ

1 голос
/ 16 июля 2010

Я не верю, что что-то подобное встроено. Вы уверены, что хотите включить элементы, которые имеют подэлементы? Например:

XElement e = new XElement("Foo", new XElement("Bar"));
Console.WriteLine(e);
Console.WriteLine(e.Value.Length);

Это напечатает:

<Foo>
  <Bar />
</Foo>
0

... поэтому Foo будет включен как «пустой» узел, даже если он содержит другой элемент. Это определенно то, что вы ищете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...