HTML解析时获取列表元素
Get list element when HTML Parsing
我有一块像这样的HTML:
<li class="myclass">
<ul class="myclass2">
<li><span>Name1</span><span>Value1</span></li><li><span>Name2</span><span>Value2</span></li><li><span>Name3</span><span>Value3</span></li>
</ul>
</li>
我正在尝试使用 HTML Agility Pack 像这样解析这个 HTML:
var values = mydetails.DocumentNode.QuerySelector(".myclass").QuerySelector("ul").InnerHtml;
这给了我这个部分:
<li><span>Name1</span><span>Value1</span></li><li><span>Name2</span><span>Value2</span></li><li><span>Name3</span><span>Value3</span></li>
但我不知道如何更进一步,我需要名称和值,但我不知道如何获取它们。你能告诉我一个方法吗?谢谢
你应该给你的物品一个 html-id,那么在 javascript 中应该很容易得到这个元素。我不知道你的框架,但在其他框架中这很容易,例如在 jQuery 中:$("#id")
您可以使用正则表达式从所有标签中获取值
public void ProcessSpans(string inputHTML)
{
string pattern = @"<span([^>]*)class=\""(\w+)\""([^>]*)>(.*)<\/span>";
RegexOptions regexOptions = RegexOptions.Multiline;
Regex regex = new Regex(pattern, regexOptions);
var matches = regex.Matches(inputHTML);
//Process the matches with your logic.
}
然后这样调用方法
var values = mydetails.DocumentNode.QuerySelector(".myclass").QuerySelector("ul").InnerHtml;
ProcessSpans(values);
我有一块像这样的HTML:
<li class="myclass">
<ul class="myclass2">
<li><span>Name1</span><span>Value1</span></li><li><span>Name2</span><span>Value2</span></li><li><span>Name3</span><span>Value3</span></li>
</ul>
</li>
我正在尝试使用 HTML Agility Pack 像这样解析这个 HTML:
var values = mydetails.DocumentNode.QuerySelector(".myclass").QuerySelector("ul").InnerHtml;
这给了我这个部分:
<li><span>Name1</span><span>Value1</span></li><li><span>Name2</span><span>Value2</span></li><li><span>Name3</span><span>Value3</span></li>
但我不知道如何更进一步,我需要名称和值,但我不知道如何获取它们。你能告诉我一个方法吗?谢谢
你应该给你的物品一个 html-id,那么在 javascript 中应该很容易得到这个元素。我不知道你的框架,但在其他框架中这很容易,例如在 jQuery 中:$("#id")
您可以使用正则表达式从所有标签中获取值
public void ProcessSpans(string inputHTML)
{
string pattern = @"<span([^>]*)class=\""(\w+)\""([^>]*)>(.*)<\/span>";
RegexOptions regexOptions = RegexOptions.Multiline;
Regex regex = new Regex(pattern, regexOptions);
var matches = regex.Matches(inputHTML);
//Process the matches with your logic.
}
然后这样调用方法
var values = mydetails.DocumentNode.QuerySelector(".myclass").QuerySelector("ul").InnerHtml;
ProcessSpans(values);