Синтаксический анализ Xml в vc++ mfc
я пытаюсь разобрать xml файл но не получаю всего результата
не могли бы вы пожалуйста, помогите мне здесь.
Что я уже пробовал:
?xml version="1.0"?><bases count='5'><base><attr name='username' value=ven'/><attr name='ip' value=ram'/></base><base><attr name='username' value=ven'/><atr name='ip' value=ram'/></base><base><attr name='username' value=ven'/><atr name='ip' value=ram'/></base></bases>
TElem eroot(iRootElm); // eroot contain the above xml file wstring count = eroot.attr(L"count");//count coiming correctly TElem elementnode = eroot.subnode(L"base"); for (TElem e = elementnode.begin(); (elementnode.elem && (elementnode != eroot.end())); elementnode++) { TElem elementnsubode = e; //updated now wstring csName = elementnsubode.attr(L"name");// wstring csValue = elementnsubode.attr(L"value"); }
вышесказанное возвращает только имя пользователя и ven
ее ни печатают то ниже
в <предварительно&ГТ;&ЛТ;АТР имя='uname2' значение=баран'/&ГТ;&ЛТ;/база&ГТ;&ЛТ;/баз&ГТ;этот
Richard MacCutchan
Какую библиотеку парсеров вы используете?
Member 13089825
com-парсер
CComPtr<ixmldomdocument> iXMLDoc;
иксмлдок.CoCreateInstance(__uuidof(DOMDocument));
VARIANT_BOOL bSuccess = false;
CComPtr<ixmldomelement> iRootElm;
iXMLDoc->loadXML((bsResponse), &bSuccess);
Richard MacCutchan
Второй элемент пишется "atr", а не "attr".
Member 13089825
изменено(это ошибка typoo), но все та же проблема
Richard MacCutchan
Я не вижу нигде в вашем коде, где вы инициализируете объект elementsubnode. И я не могу понять, что на самом деле должна делать эта петля.
Member 13089825
я обновил вопрос сейчас и цикл для того чтобы там было количество attrs будет там я не добавил что здесь
Richard MacCutchan
TElem elementnsubode = e;
Вы определили e
(в вашем for
заявление), чтобы быть elementnode
тип, поэтому вы не можете предположить, что это сейчас elementnsubode
, так как он не будет указывать на правильный узел.