Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Открыть xml без сохранения на диске / 4 сообщений из 4, страница 1 из 1
25.06.2003, 10:37
    #32190895
andresito
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть xml без сохранения на диске
Привет!
Можно ли открыть содержащийся в строке XML документ открыть в браеузере?
...
Рейтинг: 0 / 0
25.06.2003, 11:15
    #32190959
KirillovA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть xml без сохранения на диске
без сохранения - никак.
...
Рейтинг: 0 / 0
25.06.2003, 13:08
    #32191129
m_kus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть xml без сохранения на диске
смотри здесь
...
Рейтинг: 0 / 0
15.07.2003, 14:22
    #32208373
Ihor Osov'yak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть xml без сохранения на диске
hml - можно и так, как предложено выше. Но лучше примерно так:


1 вариант

procedure ShowHTML(aText: string);
var
v: Variant;
HTMLDocument: IHTMLDocument2;
begin
CheckDocReady(WebBrowser);
HTMLDocument := WebBrowser.DefaultInterface.Document as IHTMLDocument2;
v := VarArrayCreate([0, 0], varVariant);
v[0] := aText; // Here's your HTML string
HTMLDocument.Write(PSafeArray(TVarData(v).VArray));
HTMLDocument.Close;
end;

2 вариант


function TForm1.LoadFromStream(const AStream: TStream): HRESULT;
begin
AStream.seek(0, 0);
Result := (WebBrowser1.DefaultInterface.Document as IPersistStreamInit).Load
(TStreamAdapter.Create(AStream));
end;


Если все-же нужно XML - то нужно перед єтим делать трансформацию. Примерно так:




procedure TFrameViewXMLNode.SetXMLNode(const Value: IXMLDOMNode);
var XmlDocument : IXMLDomDocument;
XslDocument : IXMLDomDocument;
sHTML:string;
stm:TMemoryStream;
iHtmlDoc:IHTMLDocument2;
iLoader:IPersistStreamInit;
begin



XslDocument := CoDomDocument.Create;

if assigned(Value) then XmlDocument := CreateXMLDocFromString(Value.xml);

if not assigned(XmlDocument) then begin

WB.Navigate('about:blank');
exit;

end;


XslDocument.load('res://msxml.dll/DEFAULTSS.xsl');

// Transform the XmlDocument to HTML using the stylesheet
sHTML:= XmlDocument.transformNode(XslDocument);


stm:=TMemoryStream.Create;
stm.Write(sHTML,length(sHTML));
stm.Seek(0,0);
iHtmlDoc:= WB.DefaultInterface.Document as IHTMLDocument2;
if not assigned(iHtmlDoc) then exit;


iHtmlDoc.QueryInterface(IPersistStreamInit,iloader);
if not assigned(iLoader) then exit;
iLoader.Load(TStreamAdapter.Create(stm));
stm.Free;

end;
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Открыть xml без сохранения на диске / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]