HtmlAgility-将解析结果保存为一个字符串
刚刚尝试使用HTMLagiality Pack并有问题. 首先,我从字符串变量加载. string NewsText = dr["Message"].ToString(); HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument(); htmlDoc.LoadHtml(NewsText); //doing my stuff... 然后,我想将更改保存在字符串newstext中.我怎么做? htmldoc.tostring()不起作用. 谢谢! 解决方案 您正在寻找htmlDoc.DocumentNode.OuterHtml.
0 2024-04-17
编程技术问答社区
HtmlAgilityPack设置节点InnerText
我想用另一个文本替换HTML标签的内部文本. 我正在使用htmlagilitypack 我使用此代码提取所有文本 HtmlDocument doc = new HtmlDocument(); doc.Load("some path") foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//text()[normalize-space(.) != '']")) { // How to replace node.InnerText with some text ? } 但是,innertext是阅读的.如何用另一个文本替换文本并将其保存为文件? 解决方案 在下面尝试代码.它选择没有孩子的所有节点并过滤脚本节点.也许您需要添加一些其他过滤.除了您的Xpath表达式外,此曲线也寻找叶子节点并过滤标签的文本内容. var nodes = doc.DocumentNode.SelectN
0 2024-04-17
编程技术问答社区
从html页面提取多个值的c#软件
我从html页面源 有这个 Tavernita 页面源上的这些标签之间有10个类似的值. 我想在" H5"标签之间提取值.对于所有值,class =" iCn-venue"保持不变. 我尝试分开标签然后存储,但代码似乎不起作用. 解决方案 您可以使用htmlAgilityPack这样做: HtmlDocument doc = new HtmlDocument(); doc.Load(yourStream); List lst=doc.DocumentNode.SelectNodes("//h5[class='icn-venue']")
0 2024-04-17
编程技术问答社区
解析HTML-如何从一个标签中获得一个数字?
我正在开发与网站交互的Windows表单应用程序. 使用WebBrowser控制我正在控制网站,我可以使用以下标签迭代: HtmlDocument webDoc1 = this.webBrowser1.Document; HtmlElementCollection aTags = webDoc1.GetElementsByTagName("a"); 现在,我想从下面的标签中获取特定文本:
0 2024-04-17
编程技术问答社区
如何在C#中使用HtmlAgilityPack获得一个HTML元素的内容?
我想使用C#中的htmlagilitypack从HTML页面中获取有序列表的内容,我尝试了以下代码,但是,这不起作用,任何人都可以帮助您,我想通过HTML文本并获取内容的内容并获取内容的内容在HTML 中找到的第一阶列表 private bool isOrderedList(HtmlNode node) { if (node.NodeType == HtmlNodeType.Element) { if (node.Name.ToLower() == "ol") return true; else return false; } else return false; } public string GetOlList(string htmlText) { string s=""; HtmlDocument doc = new HtmlDocu
0 2024-04-15
编程技术问答社区
用HTML Agility Pack和Linq解析html
我有以下HTML (..) Test1 Data Data 2 Test2 Data2 Data 2 (..) 我拥有的信息是名称=> so" test1"&" test2".我想知道的是,如何根据自己的名称获取"数据"和" data2"中的数据. 目前我正在使用: var data = from tr in doc.DocumentNode.Descendants("tr") from td in tr.ChildN
0 2024-04-15
编程技术问答社区
什么是解析?
解析是我在开发中遇到的很多东西,但是作为大三的,我认为我会在需要时会掌握其中的一件事.在我当前的项目中,我被告知要查找并使用HTML解析器来进行某个功能,我在网上找到了一对. 但是,HTML解析器实际做什么?解析对象是什么意思? 解决方案 parssing 通常适用于文本 - 阅读文本并将其转换为一种更有用的内存格式,"理解"它在某种程度上意味着什么.因此,例如,XML解析器将采用字符(或字节)的顺序,并将其转换为元素,属性等. 在某些情况下(尤其是编译器), lexical分析和句法分析,因此,解析器的真正"理解"一部分以一系列令牌(标识符,操作员等)而不是在原始字符上起作用. 其他解决方案 解析正在获取一组数据并从中提取有意义的信息.使用HTML解析,您正在寻找阅读一些HTML并返回一组结构化的标签和文本 其他解决方案 您可以从这里开始:/a>.简短摘录: 解析或句法分析是分析一串的过程 符号,无论是自然语言还是计算机语言, 符合正式语法的规
0 2024-04-14
编程技术问答社区
使用HTML Agility Pack抓取元标签和评论
我正在寻找有关使用HTML敏捷包的教程,因为它似乎可以完成我想要的一切,但似乎对于如此强大的工具,互联网上几乎没有噪音. 我正在编写一种简单的方法,该方法将根据名称检索任何给定标签: public string[] GetTagsByName(string TagName, string Source) { ... } 这可以使用正则表达式很容易完成,但我们都知道,使用正则分析html是不正确的.到目前为止,我有以下代码: ... // TODO: Clear Comments (can this be done or should I use RegEx?) HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(Source); ArrayList tags = new ArrayList(); string xpath = "//" + TagName; foreach (HtmlTextNode nod
2 2024-04-14
编程技术问答社区
HTML敏捷性包
我想使用HTML敏捷包来解析HTML表.我只想从表中提取一些预定义的列数据. ,但我是解析和HTML敏捷包的新手,我尝试过,但我不知道如何使用HTML敏捷包. 如果有人知道,请给我示例,如果可能的话 编辑: 是否可以像我们要提取确定的列名的数据一样解析HTML表?像有4列名称,地址,PHNO和我只想提取名称和地址数据. 解决方案 在讨论论坛中有一个例子.向下滚动以查看表答案.我希望他们能提供更易于找到的更好的样本. 编辑: 要从特定列中提取数据,您必须首先找到与您想要的列相对应的标签,并记住其索引.然后,您需要找到相同索引的标签.假设您知道列的索引,您可以做这样的事情: HtmlDocument doc = new HtmlDocument(); doc.LoadHtml("http://somewhere.com"); HtmlNode table = doc.DocumentNode.SelectSingleNode("//
0 2024-04-13
编程技术问答社区
哪个是最好的HTML整洁包?在HTML敏捷包中是否有任何选项可以使HTML网页变得整洁?
我正在使用 html敏捷性包来解析html 表格信息.现在有一些HTML内容,缺少终结标签,并且由于缺少结尾标签,因此从该页面上html agility Pack无法正确解析信息.敏捷包解析信息正确.因此,要插入缺少的结尾标签我该怎么办?我应该为此写我的自己的代码还是使用 html整洁包来做到这一点? 如果html整理包,那么哪个是最好的 html整洁包,以及如何在可能的情况下使用它?如果我的自己的代码比它的样子? 是否有 HTML敏捷包中的任何选项可以使我们能够首先制作HTML页面整洁 ,然后 parse 网页. 解决方案 在HTML敏捷性包中,我找不到任何使HTML页面处理的选项.有一个选项可以插入丢失的关闭标签,但仅在某些HTML页面中起作用.HTMLAgility Pack中的选项是, HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); doc.Op
0 2024-04-13
编程技术问答社区
HTML Agility Pack解析大写和小写标签?
我上面的代码只能获取较低的情况版本? 解决方案 HTML敏捷性包在情况不敏感的方式上处理HTML.这意味着它会以相同的方式 parse 身体,身体和身体.它是通过设计的,因为HTML不敏感(XHTML). 也就是说,当您使用其XPATH功能时,您必须使用使用较低情况下写的标签.这意味着"//body"表达式将与身体,身体和身体匹配,并且"//身体"与众不同.
0 2024-04-12
编程技术问答社区
如何使用Html Agility Pack获得img/src或a/hrefs?
我想使用HTML敏捷包来解析HTML页面的映像和HREF链接,但是我只是对XML或XPath不了解.解决问题.此外,我在2005年使用C#.我只是无法说英语,所以我会诚挚的感谢可以编写一些有用的代码. 解决方案 HtmlDocument doc = new HtmlDocument(); doc.Load("file.htm"); // would need doc.LoadHtml(htmlSource) if it is not a file doc.OptionEmptyCollection = true; // avoid null reference exception foreach (HtmlNode link in doc.DocumentNode.SelectNodes("//a[@href]")) { string href = link.Attributes["href"].Value; // store href somewhere } 因此,您可以
2 2024-04-11
编程技术问答社区
使用C#解析HTML以获得内容
我正在编写一个爬网的应用程序,该应用程序爬网.我不想将所有内容的页面的整个源代码存储在数据库中.该内容将用于其他应用程序,而不会由用户阅读,因此无需完美的人类可读. 起初,我在考虑使用正则表达式,但是我无法控制网页的有效性,并且很有可能没有正则表达式会给我内容. 如果我在字符串中具有源代码,如何将源代码字符串的字符串变成C#中的内容? 解决方案 并不是100%清楚您想要什么,但是我假设您想要文本减去标记;所以: string html; // obtain some arbitrary html.... using (var client = new WebClient()) { html = client.DownloadString("http://stackoverflow.com/questions/2038104"); } // use the html agility pack: http://www.codeplex.com/htmlagi
2 2024-04-11
编程技术问答社区
C#: HtmlAgilityPack提取内部文本
我正在使用htmlagilitypack.是否有一个行代码可以获取HTML的所有内部文本,例如,删除所有HTML标签和脚本? 解决方案 喜欢这样: document.DocumentNode.InnerText 请注意,这将返回标签的文本内容. 为了解决这个问题,您可以删除所有标签,例如: foreach(var script in doc.DocumentNode.Descendants("script").ToArray()) script.Remove(); foreach(var style in doc.DocumentNode.Descendants("style").ToArray()) style.Remove(); 其他解决方案 我写了一个简单的方法.它可能会帮助您.此方法可以提取所有特定标签的节点.然后,您可以使用HtmlNodeCollection[i].InnerText获取其文本
0 2024-04-11
编程技术问答社区
如何将HTML读成XML?
我想从互联网下载的HTML页面中提取几个链接,我认为将LINQ用于XML是我的情况的一个很好的解决方案. 我的问题是我无法使用load(String URL)从HTML创建Xmldocument,因此我将HTML下载到字符串上: public static string readHTML(string url) { HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse res = (HttpWebResponse)req.GetResponse(); StreamReader sr = new StreamReader(res.GetResponseStream()); string html = sr.ReadToEnd(); sr.Close(); return html;
2 2024-04-11
编程技术问答社区
HTML Agility Pack中的标签不在白名单中
我正在尝试创建一个函数,该函数可删除不在白色列表中的HTML标签和属性. 我有以下HTML: first text second text here some text here some text here some twxt here 我正在使用HTML敏捷包,到目前为止我的代码是: static List WhiteNodeList = new List { "b" }; static List WhiteAttrList = new List { }; static HtmlNode htmlNode; public static void RemoveNotInWhiteList(out string _output, HtmlNode pNode, List pWhiteList, Lis
0 2024-04-10
编程技术问答社区
我如何使用libcurl登录到一个安全的网站,并获得登录后的html。
我想知道您是否可以使用C和libcurl访问登录页面的HTML来帮助我. 特定示例: 我正在尝试访问的网站是可以做这样的事情吗? 问题在于我们有很多客户都有单独的登录名.我们需要每天从他们的每个帐户中获取数据.如果我们可以在C中写入一些内容并将所有相关数据保存到文件中,那真的很光滑. (就像我可以从HTML分析的帐户和职位的值一样) 你们怎么看?这是可能的,您能否帮助我指向一些示例等方向...? 解决方案 粗略地浏览登录页面后,可以通过将用户名/密码组合发布到其身份验证页面,并假设他们使用cookie代表登录会话来使用libcurl进行此操作.第一步是确保您已经设置了以下选项: 常见. curlopt_post 这告诉libcurl to libcurl to libcurl进入Post Post Mode./li> 字段.将此选项设置为" userId=&password=".该
2 2024-04-06
编程技术问答社区