Текущий архив: 2005.08.21;
Скачать: CL | DM;
Вниз
Отобразить XML в виде дерева Найти похожие ветки
← →
JetMan (2005-07-29 09:32) [0]Hi all!
Возникла такая ситуация. Мне необходимо посторить в виде дерева (в TreeView) содержимое XML-файла. Аналагично открыванию Internet Explorer"ом XML"а.
Помогите советом :)
← →
Чапаев © (2005-07-29 09:44) [1]И что же ты уже сделал? В чём заминка?
Или ты ждёшь, что выложат готовый код?
← →
JetMan (2005-07-29 09:49) [2]Сделал след.:
procedure LoadItems(TreeNode: TTreeNode; Node: Variant);
var
i: Integer;
begin
TreeNode := TreeView.Items.AddChild(TreeNode, Node.nodeName);
TreeNode.ImageIndex := TreeNode.Level;
TreeNode.SelectedIndex := TreeNode.ImageIndex;
if Node.nodeName = "#text" then
begin
TreeNode.Text := Node.nodeValue;
end;
for i:=0 to Node.childNodes.length-1 do
LoadItems(TreeNode, Node.childNodes.item[i]);
end;
begin
XML := CreateOleObject("Microsoft.XMLDOM");
XML.Async := false;
XML.load(FileName);
if XML.parseError.errorCode <> 0 then
begin
ShowMessage( getParseError(XML.parseError) );
end
else
begin
mainNode := XML.DocumentElement;
LoadItems(nil, mainNode);
TreeNode := TreeView.Items[1];
while Assigned(TreeNode) do
begin
TreeNode.Expand(false);
TreeNode := TreeNode.GetNextSibling;
end;
if Assigned(TreeView.Items[0]) then
TreeView.Items[0].Expand(false);
end;
end;
Заминка в mainNode := XML.DocumentElement; выводит только содержимое, а я хотел бы вывести всю строку, включая теги...
← →
Чапаев © (2005-07-29 10:47) [3]> а я хотел бы вывести всю строку, включая теги...
Не понял. Что значит -- включая тэги?
← →
JetMan (2005-07-29 11:16) [4]В общем, при "XML.DocumentElement" отображается значение "document", а надо "<document type="" part="" ...>"
← →
Чапаев © (2005-07-29 11:20) [5]Ню... Этак нечестно. Атрибуты -- это тоже ветви дерева и их обрабатывать следует соответственно.
← →
DiamondShark © (2005-07-29 19:17) [6]Справка по msxml находится здесь:
http://msdn.microsoft.com/library/en-us/xmlsdk/html/d051f7c5-e882-42e8-a5b6-d1ce67af275c.asp
← →
palva © (2005-07-30 10:11) [7]Попробуй
mainNode := XML.DocumentElement.xml;
← →
palva © (2005-07-30 10:13) [8]А вообще, конечно надо по-чапаевски. Спускаться вниз по дереву и перебирать ChildNodes, анализировать их свойства и т. д.
Страницы: 1 вся ветка
Текущий архив: 2005.08.21;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.044 c