求助,存取html页面的问题,简单的说。

FAICHEN 2006-09-20 03:25:30
读取 html到DOM ,找到tag中span中的id属性,去更改id的属性
debugview中看到更改,但是存为文件,没有更改

该如何写呢?谢谢,代码如下
public void ParserHtmlResource(string path)
{

System.IO.StreamReader sr = new System.IO.StreamReader(path);
string strHtml = sr.ReadToEnd();
mshtml.IHTMLDocument2 mydoc = new mshtml.HTMLDocumentClass();

mydoc.write(strHtml);

foreach (mshtml.IHTMLElement el in (mshtml.IHTMLElementCollection)mydoc.body.all)
{
string tagname = el.tagName;
if (tagname.ToLower() == "span")
{
object nameAttribute = el.getAttribute("id", 0);
if (nameAttribute != null)
{
// mshtml.IHTMLElement3 element = (mshtml.IHTMLElement3)el;
// element.contentEditable = "true";
Random rand = new Random();
int serial = rand.Next(500);
string name = string.Format("unnamedid{0:D}", serial);
el.setAttribute("id", name, 1);
}
}
}
IPersistFile ss = mydoc as IPersistFile;
ss.Save("c:\\cc.html", true);
}
...全文
242 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhujin8777 2006-11-27
  • 打赏
  • 举报
回复
Mark
FAICHEN 2006-09-21
  • 打赏
  • 举报
回复
剩下的可以散分咯
FAICHEN 2006-09-21
  • 打赏
  • 举报
回复
尝试了 IPersistStreamInit 可以保存,但是发现原来cast IHTMLDocument3就可以保存出来了竟然找了半天没找到,特此更新。
public void ParserHtmlResource(string path)
{

System.IO.StreamReader sr = new System.IO.StreamReader(path);
string strHtml = sr.ReadToEnd();
mshtml.IHTMLDocument2 mydoc = new mshtml.HTMLDocumentClass();

mydoc.write(strHtml);

foreach (mshtml.IHTMLElement el in (mshtml.IHTMLElementCollection)mydoc.body.all)
{
string tagname = el.tagName;
if (tagname.ToLower() == "span")
{
object nameAttribute = el.getAttribute("id", 0);
if (nameAttribute != null)
{
// mshtml.IHTMLElement3 element = (mshtml.IHTMLElement3)el;
// element.contentEditable = "true";
Random rand = new Random();
int serial = rand.Next(500);
string name = string.Format("unnamedid{0:D}", serial);
el.setAttribute("id", name, 1);
}
}
}
mshtml.IHTMLDocument3 saveDoc =
(mshtml.IHTMLDocument3)mydoc as mshtml.IHTMLDocument3;
string ss = saveDoc.documentElement.outerHTML;
//outerHTML is updated,save it file

}
FAICHEN 2006-09-21
  • 打赏
  • 举报
回复
纯文本怎末做?太麻烦了吧~
cast mydoc 之前通过debugview 可以看到body里面的内容已经更改
这句话什莫意思?“保存的话并不是保存执行后的代码“

谢谢阿~
FAICHEN 2006-09-21
  • 打赏
  • 举报
回复
原来这末容易啊
鸟牙 2006-09-21
  • 打赏
  • 举报
回复
哈哈.终于解决了啊?
阿牛138588 2006-09-20
  • 打赏
  • 举报
回复
因为你只是修改了执行后代码,但保存的话并不是保存执行后的代码。
为什么不考虑使用纯文本操作
FAICHEN 2006-09-20
  • 打赏
  • 举报
回复
帮顶哦
FAICHEN 2006-09-20
  • 打赏
  • 举报
回复
up
网胜B2B行业商务系统V1.3源码 更新明: 1.3的版本是在1.2的版本上进行的升级,主要增加了人才招聘的模块,并更新大多由官方、用户群测试提交的大量bug,列举如下: 1. 重点针对安全做更新,对防sql注入进行更新。 2. 新增并完善人才系统。 3. 新增完善招聘系统功能 4. 对SEO部分重新规划升级 5. 增加后台SQL执行能力,并做安全部署。 6. 对行业分类的移动、删除的功能做了强化。 7. 友情链接的发布管理功能进行修复 8. 对供求列表的缩略图形式做出修正。 9. 产品详细页图片形式修改 10. 会员商铺供应信息分类修正。 11. 会员商铺的全部供应信息显示。 12. 商铺中不显示发布的供应信息修正 13. 商铺联系方式整理 14. 供应求助详细页联系方式整理 15. 所有的列表页的地区筛选功能修正。 16. 重新对资讯的标签进行调整,新的标签调用更加灵活。 17. 对快速发布的求购信息进行修正,能够正常显示。 18. 对后台常规管理的附件设置的修正 19. 后台会员管理的商铺信息管理的产品分类管理的修正 主要特色: 被反复测试过的响应速度。 开发过程中不断对每个页面的访问速度及响应速度进行优化,力求达到最大的打开速度,并进行数据库加压测试, 将信息填充至几十万进行相关测试,并进行记录及改善。 强负载能力,支持大动态数据。 基于多年的开发经验,从缓存技术,数据库设计,代码优化等多个角度入手,适合大动态数据的存取访问,全力保证大中型 网站的应用及长期发展。 模板操作方便,支持中文标签和标签数据实时调整。 采用模板与程序完全分离式设计,将模板直接保存为html文件,可以下载修改,也可以直接后台修改。标签可以定义为中文, 如{SY_热门采购} 操作更加直观易用,修改标签不需要再打开模板进行编辑,在标签管理内找到该标签即可实时调整参数。 高安全性。 得益于Asp.Net的高安全性基础,开发时严格控制网站的代码编写方式,做到不放过任何一处的安全隐患。 重点优化的图片上传功能。 将图片上传划分为缩略图以及原图,加快列表页的访问速度。 数据库在DB_51aspx文件夹下,附加即可。 后台登陆用户名和密码是51aspx/51aspx 常见问题: VS调试的时候,添加完后台,去浏览前台页面的时候,发现不对,图片也不显示。 解答 后台管理 常规管理里,基本网站设置,设置网站地址的时候,注意后面的端口号,要一样。否则就会出现问题
B2B行业商务系统源码 更新明: 1.3的版本是在1.2的版本上进行的升级,主要增加了人才招聘的模块,并更新大多由官方、用户群测试提交的大量bug,列举如下: 1. 重点针对安全做更新,对防sql注入进行更新。 2. 新增并完善人才系统。 3. 新增完善招聘系统功能 4. 对SEO部分重新规划升级 5. 增加后台SQL执行能力,并做安全部署。 6. 对行业分类的移动、删除的功能做了强化。 7. 友情链接的发布管理功能进行修复 8. 对供求列表的缩略图形式做出修正。 9. 产品详细页图片形式修改 10. 会员商铺供应信息分类修正。 11. 会员商铺的全部供应信息显示。 12. 商铺中不显示发布的供应信息修正 13. 商铺联系方式整理 14. 供应求助详细页联系方式整理 15. 所有的列表页的地区筛选功能修正。 16. 重新对资讯的标签进行调整,新的标签调用更加灵活。 17. 对快速发布的求购信息进行修正,能够正常显示。 18. 对后台常规管理的附件设置的修正 19. 后台会员管理的商铺信息管理的产品分类管理的修正 主要特色: 被反复测试过的响应速度。 开发过程中不断对每个页面的访问速度及响应速度进行优化,力求达到最大的打开速度,并进行数据库加压测试, 将信息填充至几十万进行相关测试,并进行记录及改善。 强负载能力,支持大动态数据。 基于多年的开发经验,从缓存技术,数据库设计,代码优化等多个角度入手,适合大动态数据的存取访问,全力保证大中型 网站的应用及长期发展。 模板操作方便,支持中文标签和标签数据实时调整。 采用模板与程序完全分离式设计,将模板直接保存为html文件,可以下载修改,也可以直接后台修改。标签可以定义为中文, 如{SY_热门采购} 操作更加直观易用,修改标签不需要再打开模板进行编辑,在标签管理内找到该标签即可实时调整参数。 高安全性。 得益于Asp.Net的高安全性基础,开发时严格控制网站的代码编写方式,做到不放过任何一处的安全隐患。 重点优化的图片上传功能。 将图片上传划分为缩略图以及原图,加快列表页的访问速度。 数据库在DB_51aspx文件夹下,附加即可。 后台登陆用户名和密码是51aspx/51aspx 常见问题: VS调试的时候,添加完后台,去浏览前台页面的时候,发现不对,图片也不显示。 解答 后台管理 常规管理里,基本网站设置,设置网站地址的时候,注意后面的端口号,要一样。否则就会出现问题

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧