![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Подскажите пожалуйста
как программно изменить значение money="507396" в этом xml файле |
|
#2
|
||||
|
||||
|
это ж обычный текстовый файл, если через IXMLDOMDocument не хочется.
|
| Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
a big hit (06.01.2014)
| ||
|
#3
|
|||
|
|||
|
Код:
var s:tstringlist;
begin
s:=tstringlist.create;
s.LoadFromFile('c:\careerSavegame.xml');
s.text:=StringReplace
(s.Text,'money="507396','money="1000000"',
[rfreplaceall]);
s.SaveToFile('c:\careerSavegame.xml');
end.Вот я сделал так все работает значение 507396 изменяется на 1000000 а как сделать если мне не известно первое значение Последний раз редактировалось Admin, 06.01.2014 в 17:07. |
|
#4
|
||||
|
||||
|
Через TXMLDocument можно так:
Код:
uses
XMLDoc, XMLIntf;
.....
procedure TForm1.Button1Click(Sender: TObject);
var
xml: TXMLDocument;
Node: IXMLNode;
begin
xml := TXMLDocument.Create(Application);
try
xml.LoadFromFile('careerSavegame.xml');
Node := xml.ChildNodes.FindNode('careerSavegame');
if Assigned(Node) then
begin
Node.Attributes['money'] := 1000000;
xml.SaveToFile('careerSavegame.xml');
end;
finally
xml.Free;
end;
end; |
| Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
a big hit (06.01.2014)
| ||
|
#5
|
|||
|
|||
|
Что то не получается все проходит без ошибок но ничего не изменяется
|
|
#6
|
||||
|
||||
|
Цитата:
|
| Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
a big hit (06.01.2014)
| ||