Member 13089825 Ответов: 0

Как прочитать (разобрать) XML - файл vc++ mfc с помощью telem


Привет мне нужно разобрать xml файл и сохранить значения в локальном файле
но я могу прочитать главный узел, но внутри перечисляются элементы
нужно разобрать приведенный ниже файл я могу правильно загрузить файл
<?xml version="1.0" encoding="UTF-8"?>

<layouts>
    <lay pos="15" bold="true"/>
    <layoff pos="12"/>
    <layin pos="17"/>
  </layouts>


Что я уже пробовал:

TElem elays = eroot.subnode(L"layouts");
   for (TElem e = elays.begin(); (e.elem && (e != eroot.end())); e++)
   {
       int pos = e.attrInt(L"pos", -1);
       bool bold = e.attrBool(L"bold", false);
       // we suggest defaults, in case the attribute is missing
       wstring id = e.name();
       // returns "lay" or "layoff" or "layin"
   }


контроль не собирается внутри цикла for
не могли бы вы помочь мне здесь,если что-то не так

Jochen Arndt

Что означает "ini=side"?

Похоже, что вы скопировали пример кода из https://www.codeproject.com/Articles/4285/Using-MSXML-to-read-XML-documents. Это довольно старая статья, и я предлагаю использовать более свежую статью о MSXML или использовать другую библиотеку XML.

Member 13089825

Что означает "ini=side"?
извините,это ошибка опечатки
да,я скопировал, потому что мое требование аналогично тому, что оно не входит внутрь цикла

Jochen Arndt

Существует разница между вашим кодом и кодом из статьи. Вы добавили дополнительное условие цикла. Если это значение равно false / NULL, цикл никогда не будет выполнен.

Member 13089825

я изменил, как показано ниже, его вход внутрь, но значения не возвращаются.(возвращаясь пустым)

для (телем е = Элайс.начать(); ( (е != Элайс.конец())); е++)

Member 13089825

я нашел эту проблему ,и теперь она работает нормально, спасибо

0 Ответов