xmlDocPtr XMLDoc;
xmlNodePtr opt;
xmlNodePtr RootChild;
xmlNodePtr curNode;
AnsiString myFile = "file.xml";
if (FileExists(myFile)){
xmlThrDefIndentTreeOutput(1);
xmlKeepBlanksDefault(0);
XMLDoc = xmlParseFile(AnsiString(myFile).c_str());
if (XMLDoc != NULL){
RootChild = xmlDocGetRootElement(XMLDoc);
curNode = RootChild->xmlChildrenNode;
while ( curNode != NULL ) {
if (AnsiString(PChar(curNode->name)) == "teg1") {
opt = curNode->xmlChildrenNode;
break;
}
curNode = curNode->next;
}
if(opt != NULL){
xmlSetProp(opt,AnsiToUtf8("atr1").c_str(),AnsiToUtf8("zn123").c_str()); // тут меняются параметры
xmlSetProp(opt,AnsiToUtf8("atr2").c_str(),AnsiToUtf8("zn456").c_str());
}
xmlSaveFormatFileEnc(myFile.c_str(),XMLDoc,(const xmlChar*)"utf-8",1);
xmlFreeDoc(XMLDoc);
xmlCleanupParser();
}
xml + bcb
<opt atropt1 atropt2 atropt3>
<teg1 atr1="zn1" atr2="zn2"></teg1>
</opt>
как мне исправить програмно art 1 и art2 zn3 и zn4 соответсвенно
Rolling Eyes
Смотря что ты используешь для парсинга XML. Мне по душе LibXml2, твою задачу я бы реализовал так: