C# 在c中使用contains搜索节点#
我试图在我的C#程序中从HTML输入搜索所有以searchResult1、searchResult2开始,直到searchResult10的节点。这是我的密码C# 在c中使用contains搜索节点#,c#,linq,C#,Linq,我试图在我的C#程序中从HTML输入搜索所有以searchResult1、searchResult2开始,直到searchResult10的节点。这是我的密码 var results = hdoc.DocumentNode .Descendants("div") .Where(x => x.Attributes.Contains("id") && x.Attributes["i
var results = hdoc.DocumentNode
.Descendants("div")
.Where(x => x.Attributes.Contains("id") &&
x.Attributes["id"].Value.Contains("\"searchResult")).ToList();
for (int i = 0; i < results.Count; i++)
{
rawdata[i] = results[i].InnerHtml.Trim();
}
var results=hdoc.DocumentNode
.后代(“div”)
其中(x=>x.Attributes.Contains(“id”)&&
x、 属性[“id”].Value.Contains(“\”searchResult”)).ToList();
for(int i=0;i
我的HTMl看起来像这样
<div id="searchResultTable" class="searchReturnData"> some junk html
<li id="searchResult1" class="searchResult searchResultsData_OFF"> searchResult1 html </li>
<li id="searchResult2" class="searchResult searchResultsData_OFF">searchResult2 html </li>
<li id="searchResult3" class="searchResult searchResultsData_OFF">searchResult3 html </li>
</div>
HtmlDocument doc = new HtmlDocument();
doc.Load(@"C:\file.html");
var root = doc.DocumentNode;
var a_nodes = root.Descendants("li").Where(c=>c.GetAttributeValue("id","")
.Contains("searchResult")).ToList()
一些垃圾html
searchResult1 html
searchResult2 html
searchResult3 html
我只想打印searchResult1、searchResult2、searchResult3 html,而不想打印一些垃圾html。我如何才能做到这一点
谢谢
Rashmi如果您可以使用解析HTML。您可以这样做
<div id="searchResultTable" class="searchReturnData"> some junk html
<li id="searchResult1" class="searchResult searchResultsData_OFF"> searchResult1 html </li>
<li id="searchResult2" class="searchResult searchResultsData_OFF">searchResult2 html </li>
<li id="searchResult3" class="searchResult searchResultsData_OFF">searchResult3 html </li>
</div>
HtmlDocument doc = new HtmlDocument();
doc.Load(@"C:\file.html");
var root = doc.DocumentNode;
var a_nodes = root.Descendants("li").Where(c=>c.GetAttributeValue("id","")
.Contains("searchResult")).ToList()
您正在尝试使用类似于XML的HTML吗?因为不要..改用HTML Agility Pack。也尝试过了HtmlNodeCollection totNodes=hdoc.DocumentNode.SelectNodes(//li[contains(@id='searchResult')]))i get error“i get error”“完全没有告诉我们您遇到的问题。编译错误?运行时异常?意外的行为?怎么搞的?你以为会发生什么?您已经尝试了什么来修复此问题?请详细说明。@tnw,它的运行时错误。“//li[contains(@id='searchResult')]”中的函数“contains”的参数数无效