Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

xml + bcb

11K
12 сентября 2006 года
EvilSimba
12 / / 01.11.2005
у меня есть файл
<opt atropt1 atropt2 atropt3>
<teg1 atr1="zn1" atr2="zn2"></teg1>
</opt>

как мне исправить програмно art 1 и art2 zn3 и zn4 соответсвенно
Rolling Eyes
1.9K
12 сентября 2006 года
SABROG
242 / / 26.01.2006
Смотря что ты используешь для парсинга XML. Мне по душе LibXml2, твою задачу я бы реализовал так:

Код:
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();
       }
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог