none
При вызове метода XDocument.Parse(), появляется исключение XAMLParseException RRS feed

  • Вопрос

  • Добрый день.

    Пишу приложение WPF. Включил в проект XML файл. В его свойствах задал: Действие при сборке = "Resource", Копировать в выходной каталог = "Копировать если новее". Ниже привожу этот файл:

    <?xml version="1.0" encoding="utf-8" ?>
        <Books xmlns="">
          <Category name="Computer Programming">
            <Book>
              <Author>H. Schildt</Author>
              <Title>C# 4.0 The Complete Reference</Title>
            </Book>
          </Category>
          <Category name="Art Editions">
            <Book>
              <Author>M. Cervantes</Author>
              <Title>The Ingenious Gentleman Don Quixote of La Mancha </Title>
            </Book>
            <Book>
              <Author>P. Ronsard</Author>
              <Title>Les Amours</Title>
            </Book>
          </Category>
        </Books>

    Затем в конструкторе главного окна приложения написал код, который должен подсчитывать количество узлов <Book> внутри каждого узла <Category>. Вот он:

    public MainWindow()
    {
         InitializeComponent();
    
         List<Int32> bookList = new List<int>();
         var doc = XDocument.Parse("Books.xml");
         // Цикл по всем узлам <Category>
         foreach (var category in doc.Root.Elements("Category"))
         {
             // Подсчитать количество узлов <Book> внутри текущего узла <Category>
             var numberOfBooks = category.Elements("Book").Count();
             bookList.Add(numberOfBooks);
         }
    }

    Но при запуске приложения в строке

    var doc = XDocument.Parse("Books.xml");

    появляется исключение XAMLParseException "Необработанное исключение типа System.Windows.Markup.XAMLParseException в PrecentationFramework.dll". Из-за чего оно там появляется? Что я неправильно делаю? Скажите, пожалуйста.


Ответы

  • Здравствуйте!

    А зачем Вам пустой xmlns? Вы либо укажите ссылку, либо уберите его, может в этом беда...

    <?xml version="1.0" encoding="utf-8" ?>
    <Books xmlns=""> - вот тут
      ... ... ...
    </Books>

    Что то я тупанул, а почему вы файл парсите, Вам его надо методом Load грузить, если метод Parse то туда нужно сразу строку xml отправлять...

    • Изменено KollegOFF 29 мая 2014 г. 14:01 Тупанул
    • Предложено в качестве ответа Varlamov Oleg 2 июня 2014 г. 9:58
    • Помечено в качестве ответа Purple_Apple 2 июня 2014 г. 12:02

Все ответы

  • Здравствуйте!

    А зачем Вам пустой xmlns? Вы либо укажите ссылку, либо уберите его, может в этом беда...

    <?xml version="1.0" encoding="utf-8" ?>
    <Books xmlns=""> - вот тут
      ... ... ...
    </Books>

    Что то я тупанул, а почему вы файл парсите, Вам его надо методом Load грузить, если метод Parse то туда нужно сразу строку xml отправлять...

    • Изменено KollegOFF 29 мая 2014 г. 14:01 Тупанул
    • Предложено в качестве ответа Varlamov Oleg 2 июня 2014 г. 9:58
    • Помечено в качестве ответа Purple_Apple 2 июня 2014 г. 12:02
  • Прошу вашего извинения, но данный вопрос больше для меня не актуален. Прошу извинения у участников форума.
    2 июня 2014 г. 12:16