Форум: "Основная";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];
ВнизДобавление атрибута в xml Найти похожие ветки
← →
Sodom (2004-06-15 19:48) [0]Здравствуйте. Мне нужно открыть xml файл, добавить в некоторые теги аттрибут и сохранить файл. Проблема заключается в добавлении атрибута. Привожу код:
procedure TForm1.Button1Click(Sender: TObject);
procedure H(x:IXMLNode);
var i:integer;
begin
// вызывается для каждого тега
if x.NodeName="file" then
begin
// И вот тут и нужно добавить атрибут, но
не знаю каким образом это сделать
end;
// далее рекурсивно проходимся по вложенным тегам
for i:=0 to x.ChildNodes.Count-1 do
H(x.ChildNodes[i]);
end;
var i:integer;
begin
// _XD1 это компанент TXMLDocument
_XD1.LoadFromFile("8.xml"); // загружаю файл, не важно какой
_XD1.Active:=true;
for i:=0 to _XD1.DocumentElement.ChildNodes.Count-1 do
H(_XD1.DocumentElement.ChildNodes[i]);
end;
Вопрос собственно в коментарии. Спасибо за помощь.
← →
Тимохов © (2004-06-15 19:58) [1]CreateAttribute не помогает?
← →
Sodom (2004-06-16 11:36) [2]Надо использовать как параметр в H не IXMLNode, а IDOMNode. Тогда никаких проблем не возникает. Всем спасибо.
← →
ПсихЪ (2004-06-16 11:43) [3]Офф-топик:
Помнится, как-то, мне пришлось писать на PHP скрипт, который обрабатывает RSS, который извлекает из XML (RSS) нужную инфу или записывает. Писал полностью сам обработку XML и не увидел в этом ничего сложного. Почему бы не написать то же самое на Delphi ручками под себя? Там работы-то на пару часов. По парсингу текста в сети уже столько доков, что, наверно, каждый второй программист знает эту тему наизусть!
← →
Тимохов © (2004-06-16 12:16) [4]
> ПсихЪ (16.06.04 11:43) [3]
написать ручками за пару часов парсер хml?
не больно ти круто - там одних спецификаций xml не на один десяток страниц.
как вы говорите имхо можно делать, только если заранее знаешь какие возможности стандарта xml будут использованы в документах, котоыре придется обрабатывать.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.032 c