Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.09.2015, 16:21   #1
sergei92
Пользователь
 
Регистрация: 17.07.2015
Сообщений: 51
По умолчанию Работа с XML файлом

Подскажите пожалуйста как создать XML файл записать и считать из него данные с примером пожалуйста, а то я с ним никогда не работал!
sergei92 вне форума Ответить с цитированием
Старый 02.09.2015, 16:28   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну создать можно с помошью TStringList или любым другим способом записи в текстовые файлы. XML это всетки текстовик.
Однако в Билдере есть компонент TXMLDocument. Можно использовать его. попробуй порой примеры с ним, я о нем знаю, но никогда не использовал.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.09.2015, 16:54   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

А можно и либу взять, типа пуги или ксерсес
p51x вне форума Ответить с цитированием
Старый 02.09.2015, 17:40   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
А можно и либу взять, типа пуги или ксерсес
А если по-подробнее, человеческим языком. Что такое пуги и ксепсес и с чем его едят?

А вообще, я не особо заморачивался над этим. Создал класс XMLParser, который дербанит не очень замороченные XML-ки. А создаю при помощи TStringList, как и советовал Stilet.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 02.09.2015, 17:44   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

http://pugixml.org/
https://xerces.apache.org/
p51x вне форума Ответить с цитированием
Старый 03.09.2015, 09:30   #6
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

Открываем:
Код:
               CoInitialize(0);
		_di_IXMLDocument Config = NewXMLDocument("1.0");
		Config->SetActive(true);
		Config->SetEncoding(WideString("UTF-8"));

// здесь удаляю корневой узел, что бы полностью переписать файл
// иначе будет дублировать записи		
if(Config->GetDocumentElement())
				Config->GetChildNodes()->Delete(WideString("Root"));
// создание нового корня        
_di_IXMLNode Root = Config->CreateNode("Root",ntElement,L"");
		 Config->SetDocumentElement(Root);
Создадим узел:
Код:
_di_IXMLNode Node  = Root->AddChild("Node");
В узле Node создадим подузел:
Код:
_di_IXMLNode ChildNode  = Node->AddChild("ChildNode");
ChildNode->Text = "ChildNodeValue";
Закрываем:
Код:
Config->SaveToFile(Path+"Filename.xml");
CoUninitialize();
Чтение:
Открываем так же, далее чтение:
Код:
  _di_IXMLNode Root = Config->GetDocumentElement();
_di_IXMLNode Node =Config->DocumentElement->ChildNodes->FindNode("Node");
if(Node)
   Node->ChildNodes->FindNode("ChildNode");
if(ChildNode)
  String Val =  ChildNode->Text;
Закрываем:
Код:
   CoUninitialize();
Знающий не говорит, говорящий не знает (С) Лао Цзы
Krok27 вне форума Ответить с цитированием
Старый 03.09.2015, 12:56   #7
sergei92
Пользователь
 
Регистрация: 17.07.2015
Сообщений: 51
Хорошо

Krok27 огромнейшее Вам спасибо за помощь прямо объяснили все что нужно!
sergei92 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с XML файлом, ламмерские вопросы Vitalay Общие вопросы по Java, Java SE, Kotlin 0 01.02.2012 12:55
Работа с файлом. с++ Valen_tina Помощь студентам 2 11.09.2011 14:02
работа с файлом DinamoBrynsk Помощь студентам 4 25.02.2011 19:33
Работа с файлом Ямерт Помощь студентам 2 06.12.2010 18:23
Работа с файлом Илюха... Помощь студентам 0 06.12.2009 20:42