Показать сообщение отдельно
  #1  
Старый 09.08.2018, 11:59
Аватар для Aqel
Aqel Aqel вне форума
Прохожий
 
Регистрация: 08.10.2011
Адрес: Пермь
Сообщения: 13
Версия Delphi: XE8 SP1
Репутация: 10
Вопрос Удаление строк из XML

Есть xml (конфиг .cfg):
Код HTML:
<?xml version="1.0" encoding="UTF-8"?> <setup title="${{ProductTitle}}"> ... <manifest> <file name="setup.exe" core="true"/> <file name="setup.cfg"/> <file name="eula.txt"/> <file name="${{EulaHtmlFile}}"/> <file name="${{FunctionalConsentFile}}"/> <file name="${{PrivacyPolicyFile}}"/> <file name="${{InstallerDllDirectory}}/NVI2.dll" core="true"/> <file name="${{InstallerDllDirectory}}/NvInstallerUtil.dll" core="true"/> <file name="${{InstallerDllDirectory}}/NVI2UI.dll" core="true"/> ... </manifest> </setup>

Мне нужно удалить несколько строчек:
<file name="${{EulaHtmlFile}}"/>,
<file name="${{PrivacyPolicyFile}}"/>,
<file name="${{InstallerDllDirectory}}/NVI2UI.dll" core="true"/>

- как это осуществить, глядел в сторону парсинга, но запутался в доску...

Вот наработка по поиску этих строк:

Код:
var
  i: Integer;
  s: string;
begin
  XMLDocument1.LoadFromFile('setup.cfg');
  XMLDocument1.Active:= true;
  RootNode:= XMLDocument1.DocumentElement;
  for i:= 0 to RootNode.ChildNodes['manifest'].ChildNodes.Count - 1 do
  mmo1.Lines.Add(RootNode.ChildNodes['file'].ChildNodes[i].Text);
  //XMLDocument1.ChildNodes.Delete(i); - этим хотел удалять


В мемо ничего не выводится...
__________________
Всё намного проще, чем есть на самом деле...
Ответить с цитированием