Вопрос по работе с MSXML
От: _agg  
Дата: 30.12.16 09:12
Оценка:
Привет всем. Возник вопрос по работе MSXML, имеются узлы в документе вот такого вида:
<v:userDefs>
    <v:ud v:nameU="A" v:prompt="" v:val="AV"/>
    <v:ud v:nameU="B" v:prompt="" v:val="BV"/>
    <v:ud v:nameU="C" v:prompt="" v:val="CV"/>
</v:userDefs>


Нашел узел c v:nameU="A" тут проблем не возникло, возникла проблема с добавлением нового узла с атрибутами на выходе должен получиться вот такой XML:
<v:userDefs>
    <v:ud v:nameU="A" v:prompt="" v:val="AV"/>
    <v:ud v:nameU="B" v:prompt="" v:val="BV"/>
    <v:ud v:nameU="C" v:prompt="" v:val="CV"/>
    <v:ud v:nameU="D" v:prompt="" v:val="DV"/>
</v:userDefs>


Пытаюсь добавить вот так:
IXMLDOMNodePtr new_node= doc->createNode(CComVariant(NODE_ELEMENT), bstr_t("v:ud"), bstr_t(""));

1. Не дает создавать узел с именем "v:ud" Как создать с именем "v:ud"?
2. Если даже обойтись без ":" создаю атрибуты:

auto new_attr1=doc->createAttribute(L"nameU");
auto new_attr2 = doc->createAttribute(L"prompt");
auto new_attr3 = doc->createAttribute(L"val");
new_attr1->Putvalue(variant_t(L"\"D\""));
new_attr2->Putvalue(variant_t(L""));
new_attr3->Putvalue("\"DV\"");


3. Непонятно как добавить атрибуты в new_node?
4. Как создать с помощью MSXML узел вида : "<v:ud v:nameU="D" v:prompt="" v:val="DV"/>" ?
Заранее благодарен ...
Отредактировано 30.12.2016 9:43 _agg . Предыдущая версия . Еще …
Отредактировано 30.12.2016 9:43 _agg . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.