社区
HTML/XML
帖子详情
webbrowser读取xml源文件问题
qianyong325
2008-04-16 11:08:37
我navigate一个url,返回的是xml文件,在DocumentComplete处理的时候用get_innerHTML得到的是处理过的html内容,用get_innerText的到的也和xml文件有所不同,在ie里右键菜单查看源文件是可以看到原始xml文件的内容的。请问应该怎么做。
用get_innerText会在xml文件前面有个"-" ,如果是<a></a>中间不写内容,会变成<a/>这样的东西。
急用,分不是问题
...全文
686
11
打赏
收藏
webbrowser读取xml源文件问题
我navigate一个url,返回的是xml文件,在DocumentComplete处理的时候用get_innerHTML得到的是处理过的html内容,用get_innerText的到的也和xml文件有所不同,在ie里右键菜单查看源文件是可以看到原始xml文件的内容的。请问应该怎么做。 用get_innerText会在xml文件前面有个"-" ,如果是中间不写内容,会变成这样的东西。 急用,分不是问题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qianyong325
2008-04-17
打赏
举报
回复
恩,只有IDispatch接口?那就是主要应用于脚本的,呵呵。 下午下班前结贴了。谢谢
jameshooo
2008-04-17
打赏
举报
回复
其实这个接口就是AJAX中的httpXmlRequest对象,IE在window对象中已经嵌入了这个对象,直接用于AJAX,所以C++的调用方式跟脚本是完全一样的。
jameshooo
2008-04-17
打赏
举报
回复
如果使用异步,load会马上返回。在load之前你要设置一个回调(IDispatch),put_onreadystatechange(VARIANT)或者put_ondataavailable(VARIANT)都可以,一般用第二个,VARIANT参数就是你的回调IDispatch,当数据返回并解析好后,或者加载状态发生改变的时候会调用对应的回调。
qianyong325
2008-04-17
打赏
举报
回复
我想问楼上的,url返回给我的是一个xml文件,怎么能在navigate之前得到。其实用jameshooo 的方法也可以,抛弃webbrowser。另外用webbrowser也可以,问题我已经解决了。
现在向jameshooo 提问:
CoCreateInstance --> IXMLDOMDocument
IXMLDOMDocument::put_async(VARIANT_FALSE or VARIANT_TRUE)
IXMLDOMDocument::load(url)
IXMLDOMDocument::selectSingleNode("//html") --> IXMLDOMElement
IXMLDOMElement::get_xml / text
如果put_async设置的是异步。那么load是不是会立刻返回? 那么当实际的xml返回以后是有连接点通知吗?如果有,是什么呢?
上面回答问题的只有你的还算是沾点边,这个问题也解决了100分全是你的。
另外,很久没有来csdn技术区了,发现星星的质量真不怎么样。 我的问题是翻以前的帖子,蒋老大有过解决方法的。各位有兴趣可以自己去找找!
ToperRay
2008-04-17
打赏
举报
回复
你要在navigate之前得到才可以。
jameshooo
2008-04-16
打赏
举报
回复
不要使用浏览器控件,可以直接使用msxml2.DOMDocument组件来加载XML文档:
CoCreateInstance --> IXMLDOMDocument
IXMLDOMDocument::put_async(VARIANT_FALSE or VARIANT_TRUE)
IXMLDOMDocument::load(url)
IXMLDOMDocument::selectSingleNode("//html") --> IXMLDOMElement
IXMLDOMElement::get_xml / text
vcPlayer
2008-04-16
打赏
举报
回复
这种方法只能取到常规的网页内容。有些网页是经过加密处理或者说是不允许这样来取的。LZ尝试一下SOCKET模拟HTTP请求包看能否得到网页的真实内容?
qianyong325
2008-04-16
打赏
举报
回复
我就是这样写的,用get_outerHTML取得的是html,并不是原始的xml,用get_outerText取得的也不是。上面已经做了说明了啊
Kudeet
2008-04-16
打赏
举报
回复
SHDocVw::IWebBrowser2Ptr spBrower;
get_Document
IHTMLDocument2 *document = spBrower->get_Document(..);
IHTMLElement *body;
BSTR title,source,content;
document->get_title(&title); //取title
document->get_body(&body);
body->get_outerHTML(&source);//取源程序
body->get_outerText(&content);//取文本
基本的代码是这样,试试看
scq2099yt
2008-04-16
打赏
举报
回复
up
qianyong325
2008-04-16
打赏
举报
回复
用webbrowser就不行吗?有时候获得的是html,并且要在borwser上面显示的,用webbrowser会比较方便的。
Delphi结合HTML与
XML
实现动态表单填写功能
本文介绍如何利用Delphi的T
Web
Browser
控件集成HTML前端界面,并通过
XML
定义和存储表单数据结构,实现桌面应用中的动态表单加载、用户交互、数据填写与提交。重点涵盖HTML嵌入、JavaScript双向调用、
XML
数据解析与绑定等关键技术,适用于Delphi与
Web
技术融合的混合式表单开发场景。
现有的
Web
打印控制技术分成几种方案
本文介绍了现有的
Web
打印控制技术,主要包括自定义控件和利用IE自带的
Web
Browser
控件实现打印两种方式。自定义控件需用VB或VC生成COM组件,利用
XML
解决格式
问题
,但开发难度大。
Web
Browser
控件实现打印涉及文档生成、页面设置和操作实现,还给出了项目采用的打印方案。
WEB
打印的相关技术分析
本文对
Web
打印相关技术进行分析,现有技术分为自定义控件和利用IE自带
Web
Browser
控件实现打印。自定义控件用
XML
解决
问题
但开发难度大;
Web
Browser
控件涉及打印文档生成、页面设置和打印操作。还介绍了项目采用的服务器端程序方式及关键实现部分。
HTML/XML
3,056
社区成员
8,075
社区内容
发帖
与我相关
我的任务
HTML/XML
VC/MFC HTML/XML
复制链接
扫一扫
分享
社区描述
VC/MFC HTML/XML
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章