Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > LINQ (Language-Integrated Query) > Linq To Xml не читает из-за xmlns


Автор: Robomozg 13.4.2010, 20:05
Привет! Есть xml:

Код

<?xml version="1.0" encoding="utf-8"?>
<topic id="5b1892fa-5514-4c57-a8fb-410310354d3d" revisionNumber="1">
  <developerGlossaryDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5">
    <glossary>
      <glossaryEntry>
        <terms>
          <term>ISBL</term>
        </terms>
        <definition>
          <para> (IS-Builder Language) – встроенный в IS-Builder высокоуровневый язык программирования, предназначенный для описания алгоритмов работы прикладных задач.</para>
        </definition>
      </glossaryEntry>
...


Начинаю его читать (тут пример кода):
Код

XDocument doc = XDocument.Load(@"file.xml");
foreach (var node in aml.Elements("topic").Elements("developerGlossaryDocument"))
            {
                Console.WriteLine(node);
            }


А он у меня ничего не выводит. А если с xml убрать "xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"", то все нормально выводится. Объясните, пожалуйста, как исправить и в чем, собственно говоря проблема?

Автор: KelTron 14.4.2010, 04:46
Ну тут 2 варианта, либо удалить namespace, либо обращаться к элементам по полному имени:
Код

doc.Element("topic").Element(XName.Get("developerGlossaryDocument", "http://ddue.schemas.microsoft.com/authoring/2003/5"));

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)