Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何解析html字符串_C#_Asp.net_Html - Fatal编程技术网

C# 如何解析html字符串

C# 如何解析html字符串,c#,asp.net,html,C#,Asp.net,Html,我无法编辑我的代码,因此您可以删除此帖子请查看此库http:。 它可以帮助您进行HTML解析。您可以使用 尝试: 尝试类似未经测试的代码: var TeamList = from lnks in document.DocumentNode.Descendants() where lnks.Name == "a" && lnks.Attributes["href"] != null &&

我无法编辑我的代码,因此您可以删除此帖子

请查看此库http:。 它可以帮助您进行HTML解析。

您可以使用

尝试:

尝试类似未经测试的代码:

var TeamList = from lnks in document.DocumentNode.Descendants()
               where lnks.Name == "a" && 
                    lnks.Attributes["href"] != null && 
                    lnks.InnerText.Trim().Length > 0
               select new
               {

                  TeamId= (lnks.Attributes["href"].Value).
                          Substring((lnks.Attributes["href"].Value).Length-1, 1),
                  TeamName= lnks.InnerText
               };

抱歉,不清楚您的意思-您的意思是希望加载html,将其转换为数据,然后能够修改它,并可能将其推回到html吗?或者你只是想读它?我认为这就像是用大锤敲开一颗坚果。@DmitryDovgopoly-除非讨论中的正确工具实际上是HTML Agility Pack正则表达式,这对作者来说很难,因为他们可能是编程新手。老实说,使用正则表达式就像是一把大锤,一把非常沉重的锤子,因为它的开销很大。好吧,但对我来说,外部库加链接查询似乎比regexthanks更难找到答案。但未找到匹配计数==0。已修复。在您的文本示例中,您有不同的ItemTypeID spellingID和iDwhere is temp variable?无法解决此问题?var document=new HtmlAgilityPack.HtmlDocument;文件。加载结果;var TeamList=来自document.DocumentNode.subjections中的lnks,其中lnks.Name==a&&lnks.Attributes[href]!=null&&lnks.InnerText.Trim.Length>0选择新的{TeamId=lnks.Attributes[href].Value,TeamName=lnks.InnerText};此页面中的“获取全部”链接。我只想在团队列表下显示TeamId和TeamName如何在您的代码中执行此操作?因此,您必须显示所有html!答案指的是发布的代码。我无法编辑我的代码完整代码。谢谢你的回答。它工作得很好。但我能不能想谈谈这件事。这个html是团队列表、金钱列表、歌曲列表等,你可以在我的html中看到;团队列表我只想获取团队列表我怎么做?@emozguner在不知道完整html的情况下无法回答。完整html是我的第一篇帖子。在运行代码后,如果html==团队列表,请始终首先重复团队列表金钱列表。第一级是如果这个html==团队列表。你能帮我吗?@emozguner我不确定我是否能理解你的问题,但是,如果你想要的是表的标题,那么你可以尝试var title=doc.DocumentNode.SelectSingleNode//tr[@class='MyColumn']]/td/b.innerText我想这样做,但我的代码给出了错误。也许你可以帮忙;首先,我想解析团队列表,然后我想创建团队。我必须采取节点hasgot团队名单后,我必须运行您的代码,我发送这样的代码;
var TeamList = from lnks in document.DocumentNode.Descendants()
               where lnks.Name == "a" && 
                    lnks.Attributes["href"] != null && 
                    lnks.InnerText.Trim().Length > 0
               select new
               {

                  TeamId= (lnks.Attributes["href"].Value).
                          Substring((lnks.Attributes["href"].Value).Length-1, 1),
                  TeamName= lnks.InnerText
               };
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);

var teams = doc.DocumentNode.SelectNodes("//td[@width='313']")
                .Select(td => new TeamClass
                {
                    TeamName = td.Element("a").InnerText,
                    TeamId = HttpUtility.ParseQueryString(td.Element("a").Attributes["href"].Value)["ItemTypeID"]
                })
                .ToList();