webbrowser控件如何得到xml+xsl显示后的真实源文件

时间:2022-02-26 19:37:58
小弟的webbrowser浏览的是一个xml+xsl的页面,我用webbrowser的document得到
的源文件是xsl转换过后的html文件,
因为浏览的内容在线只能浏览一次,而我想得到的是xml,这样我就可以用msxml来
解析了,
我在webbrowser上右键有个“查看源文件”是可以看到完整的xml文件的,不知哪位
大侠可以帮帮我,
真的是郁闷好久了[:(]

9 个解决方案

#1


通过HTTP组件直接下载那个地址,其结果一定是XML文件
如IdHTTP等

#2


很容易的,在MSDN上面可以查到的

WebBrowser1.OleObject.Document.XMLDocument.documentElement.XML



#3


var
    Doc: IXMLDOMDocument;
begin
  Doc := CreateOleObject('Microsoft.XMLDOM') as IXMLDomDocument;
  Doc.load(webbrowser1.OleObject.Documenet.XMLDocument.documentElement.XML);
  ......
end;


halfdream兄,我在运行到Doc.load的时候,提示 
              Method 'Document' not supported by automation object

你能再帮帮忙吗?我这里没有msdn,或者你把msdn抄一点给我,好吗?拜托摆脱

#4


我是在网上搜索的,
其实它的这个接口应该比较好理解。。
webbrowser1.OleObject.Documenet.XMLDocument到这儿,已经是提供了一个XMLDOM接口。

你的程序调试的时候,

var
    Doc: IXMLDOMDocument;
    s:string;
begin
  s:=webbrowser1.OleObject.Documenet.XMLDocument.documentElement.XML;
  ShowMessage(s);//先试试取到没有。。
  Doc := CreateOleObject('Microsoft.XMLDOM') as IXMLDomDocument;
//  Doc.load(s);  你应该是错在这儿,LOAD方法是装入文件吧,参数是文件名。
  Doc.loadxml(s);

  ......
end;

#5


必须WEBBROWSER先打开一个文档,
webbrowser1.OleObject.Documenet才会引用到一个自动化对象。

#6


halfdream兄:
我在
s:=webbrowser1.OleObject.Documenet.XMLDocument.documentElement.XML;

的时候又报
         Method 'Document' not supported by automation object
了,我的webbrowser1已经navigate一个xml+xsl文件了。

小弟delphi水平实在不行,大侠再帮忙看看

#7


我用的是delphi5是不是有问题?

#8


呵呵,,不好意思,程序应该这样写。尽管看上去差不多。

var
  s:string;
  v:variant;
begin
  v:=webbrowser1.OleObject.Document;
  s:=v.XMLDocument.documentElement.XML;
  ShowMessage(s);

...


#9


厉害厉害,halfdream兄,已经解决了

#1


通过HTTP组件直接下载那个地址,其结果一定是XML文件
如IdHTTP等

#2


很容易的,在MSDN上面可以查到的

WebBrowser1.OleObject.Document.XMLDocument.documentElement.XML



#3


var
    Doc: IXMLDOMDocument;
begin
  Doc := CreateOleObject('Microsoft.XMLDOM') as IXMLDomDocument;
  Doc.load(webbrowser1.OleObject.Documenet.XMLDocument.documentElement.XML);
  ......
end;


halfdream兄,我在运行到Doc.load的时候,提示 
              Method 'Document' not supported by automation object

你能再帮帮忙吗?我这里没有msdn,或者你把msdn抄一点给我,好吗?拜托摆脱

#4


我是在网上搜索的,
其实它的这个接口应该比较好理解。。
webbrowser1.OleObject.Documenet.XMLDocument到这儿,已经是提供了一个XMLDOM接口。

你的程序调试的时候,

var
    Doc: IXMLDOMDocument;
    s:string;
begin
  s:=webbrowser1.OleObject.Documenet.XMLDocument.documentElement.XML;
  ShowMessage(s);//先试试取到没有。。
  Doc := CreateOleObject('Microsoft.XMLDOM') as IXMLDomDocument;
//  Doc.load(s);  你应该是错在这儿,LOAD方法是装入文件吧,参数是文件名。
  Doc.loadxml(s);

  ......
end;

#5


必须WEBBROWSER先打开一个文档,
webbrowser1.OleObject.Documenet才会引用到一个自动化对象。

#6


halfdream兄:
我在
s:=webbrowser1.OleObject.Documenet.XMLDocument.documentElement.XML;

的时候又报
         Method 'Document' not supported by automation object
了,我的webbrowser1已经navigate一个xml+xsl文件了。

小弟delphi水平实在不行,大侠再帮忙看看

#7


我用的是delphi5是不是有问题?

#8


呵呵,,不好意思,程序应该这样写。尽管看上去差不多。

var
  s:string;
  v:variant;
begin
  v:=webbrowser1.OleObject.Document;
  s:=v.XMLDocument.documentElement.XML;
  ShowMessage(s);

...


#9


厉害厉害,halfdream兄,已经解决了