powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Открыть xml без сохранения на диске
4 сообщений из 4, страница 1 из 1
Открыть xml без сохранения на диске
    #32190895
andresito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет!
Можно ли открыть содержащийся в строке XML документ открыть в браеузере?
...
Рейтинг: 0 / 0
Открыть xml без сохранения на диске
    #32190959
Фотография KirillovA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
без сохранения - никак.
...
Рейтинг: 0 / 0
Открыть xml без сохранения на диске
    #32191129
m_kus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
смотри здесь
...
Рейтинг: 0 / 0
Открыть xml без сохранения на диске
    #32208373
Ihor Osov'yak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
4 сообщений из 4, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Открыть xml без сохранения на диске
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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