Как Вы обрабатываете произвольные пространства имен при запросах по Linq к XML?

Для тех, у кого есть подобная проблема: решение довольно простое, в случайной местности я забыл уменьшить массив на одно значение, и поэтому последнее значение случайной местности переписывало первое значение места посадки. [110 ]

19
задан bouvard 8 October 2008 в 15:29
поделиться

2 ответа

Используя LocalName должен быть хорошо. Я не считал бы это взломом вообще, если Вы не заботитесь о том, в каком пространстве имен это находится.

, Если Вы знаете пространство имен, Вы хотите, и Вы хотите указать его, Вы можете:

var ns = "{http://www.w3.org/1999/xhtml}";
var x  = xDoc.Root.Descendants(ns + "div");

( ссылка MSDN )

можно также получить список всех пространств имен, используемых в документе:

var namespaces = (from x in xDoc.Root.DescendantsAndSelf()
                  select x.Name.Namespace).Distinct();

я предполагаю, что Вы могли использовать это, чтобы сделать это, но это не действительно никто меньше взлома:

var x = namespaces.SelectMany(ns=>xDoc.Root.Descendants(ns+"div"));
17
ответ дан 30 November 2019 в 05:20
поделиться

Я думаю, что Ваш Google-fu приводит Вас к сбою:

http://www.google.com.au/search?hl=en&q=linq+xml+namespaces

-11
ответ дан 30 November 2019 в 05:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: