Добавить новый XElement в существующий XElement, если он еще не существует - PullRequest
3 голосов
/ 30 января 2010

Как проверить, существует ли элемент в данном элементе, прежде чем пытаться добавить его?

Фон : у меня есть XDocument X, который содержит в качестве дочернего элемента Flowers, который впоследствии содержит серию элементов, каждый из которых называется Flower. Каждый Flower уже имеет 2 дочерних элемента, и я хотел бы добавить третий элемент с именем Price. Однако я хочу проверить и убедиться, что в элементе Flower отсутствует элемент для Price. Как я могу это сделать? Мне вообще нужно проверять?

1 Ответ

5 голосов
/ 30 января 2010

XElement имеет свойство HasElements, которое сработало бы, если бы просто хотелось узнать, существуют ли какие-либо элементы.

Для твоего случая я бы использовал ...

XNamespace ns = "http://mynamespace.com";
bool hasPrice = flowerElement.Element(ns + "Price") == null;

.. чтобы увидеть, существует ли элемент цены. Если нет, то вы можете добавить его.

Примечание: если для вашего XML-файла не задано пространство имен, вы можете использовать Namespace.None вместо ns.

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