Работа с XML как с деревом
Модератор: Модераторы
-
Padre_Mortius
- энтузиаст
- Сообщения: 1265
- Зарегистрирован: 29.05.2007 17:38:07
- Откуда: Спб
Работа с XML как с деревом
Понадобилась возможность работы с XML как с деревом. Если кому пригодиться. то собственно ссылка на сабж http://depositfiles.com/ru/rmv/1376557974369864
Данный невизуальный компонент был портирован из JVCL с некоторыми дополнениями и изменениями. Был проверен на кодировке Win1251.
Данный невизуальный компонент был портирован из JVCL с некоторыми дополнениями и изменениями. Был проверен на кодировке Win1251.
Последний раз редактировалось Padre_Mortius 11.09.2008 16:56:59, всего редактировалось 1 раз.
- Sergei I. Gorelkin
- энтузиаст
- Сообщения: 1409
- Зарегистрирован: 24.07.2005 14:40:41
- Откуда: Зеленоград
-
Padre_Mortius
- энтузиаст
- Сообщения: 1265
- Зарегистрирован: 29.05.2007 17:38:07
- Откуда: Спб
-
Padre_Mortius
- энтузиаст
- Сообщения: 1265
- Зарегистрирован: 29.05.2007 17:38:07
- Откуда: Спб
-
Padre_Mortius
- энтузиаст
- Сообщения: 1265
- Зарегистрирован: 29.05.2007 17:38:07
- Откуда: Спб
ViTality
Чтобы не быть голословным, попробуйте для начала открыть файл у которого прописана кодировка win1251.
В версии fpc 2.2.0 у меня это не получилось. Наблюдал сообщение о том, что данная кодировка не поддерживается. Если у вас все работает. то я рад за вас
До уникода я еще не добрался. сейчас времени нет на проверку
Чтобы не быть голословным, попробуйте для начала открыть файл у которого прописана кодировка win1251.
Код: Выделить всё
<?xml version="1.0" encoding="windows-1251"?>В версии fpc 2.2.0 у меня это не получилось. Наблюдал сообщение о том, что данная кодировка не поддерживается. Если у вас все работает. то я рад за вас
До уникода я еще не добрался. сейчас времени нет на проверку
Последний раз редактировалось Padre_Mortius 04.02.2008 18:28:55, всего редактировалось 1 раз.
-
Padre_Mortius
- энтузиаст
- Сообщения: 1265
- Зарегистрирован: 29.05.2007 17:38:07
- Откуда: Спб
- Sergei I. Gorelkin
- энтузиаст
- Сообщения: 1409
- Зарегистрирован: 24.07.2005 14:40:41
- Откуда: Зеленоград
Тебя спросили чем не катит DOM
ты ответил что потомучто нужел был юникод, хотя в DOM все на widechar`ах
а переписаный тобой модуль ориентирован на работу с 1251
короче я прост запутался и решил уточнить
Вопрос: а Работа с XML как с деревом это всмысле:
я знаю имена нодов
и обращаюсь к ним в виде:
А:=документ\нод1\нод2\нод3.Значение
Б:=документ\нод1\нод2\нод4.Значение
чтото в этом роде???
п.с. модуль еще не смотрел
ты ответил что потомучто нужел был юникод, хотя в DOM все на widechar`ах
а переписаный тобой модуль ориентирован на работу с 1251
короче я прост запутался и решил уточнить
Вопрос: а Работа с XML как с деревом это всмысле:
я знаю имена нодов
и обращаюсь к ним в виде:
А:=документ\нод1\нод2\нод3.Значение
Б:=документ\нод1\нод2\нод4.Значение
чтото в этом роде???
п.с. модуль еще не смотрел
-
Padre_Mortius
- энтузиаст
- Сообщения: 1265
- Зарегистрирован: 29.05.2007 17:38:07
- Откуда: Спб
Да именно.
Но мне больше нравится обращаться с узлами немного по другому
Код: Выделить всё
var
XmlDoc: TjvXmlTree;
Node: TjvXmlNode;
Node1Value: AnsiString;
begin
try
XmlDoc := TjvXmlTree.Create('','', nil);
XmlDoc.LoadFromFile(aFileName);
Node := XmlDoc.FindNamedNode('nodeFirst');
Node1Value:=Node.GetNamePathNode('nodeFirst/nodeSecond').Value;
finally
XmlDoc.Free;
end;
end;Но мне больше нравится обращаться с узлами немного по другому
Код: Выделить всё
var
XmlDoc: TjvXmlTree;
S: AnsiString;
begin
try
XmlDoc := TjvXmlTree.Create('','',nil);
XmlDoc.LoadFromFile(FileName);
S := XmlDoc.FindNamedNode('sen:Object').Value;
if Length(S) <> 0 then UnBase64(S, FileName);
finally
FreeAndNil(XmlDoc);
end;
end;
