C# 通过解析获取HTML标记的内容
我需要拆分这个/类似的字符串以获得值C# 通过解析获取HTML标记的内容,c#,string,split,html-parsing,C#,String,Split,Html Parsing,我需要拆分这个/类似的字符串以获得值 <a href="javascript:void(0);" id="def_" name="color" rel="ml">VALUE</a> 我可以先执行String.Split(“>”),然后执行另一个StringArr[1]。Split(您可以使用数组,如 split(new char[]{'<','>'} 这是该问题的一般解决方案。如果您打算努力使用HTML,请不要使用这种方式,而是使用特定的HTML解析
<a href="javascript:void(0);" id="def_" name="color" rel="ml">VALUE</a>
我可以先执行String.Split(“>”),然后执行另一个StringArr[1]。Split(您可以使用数组,如
split(new char[]{'<','>'}
这是该问题的一般解决方案。如果您打算努力使用HTML
,请不要使用这种方式,而是使用特定的HTML
解析器。您需要一个解析器,尝试拆分字符串只会是一种临时的破解。请仔细查看
对于示例HTML,如下所示:
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(inputHtml);
var text = doc.DocumentNode
.Descendants("a")
.Where(x => x.Attributes["id"]!=null &&
x.Attributes["id"].Value == "def_")
.First()
.InnerText;
由于您不是在解析字符串,而是在解析HTML,所以您是否只对这个特定任务感兴趣,或者是否存在其他解析场景?解析HTML并不是一件小事,如果这不是一次性的事情,您应该使用已建立的方法,您可以确切地知道输入在任何时候都是什么样子。
a href='javascript:void(0);' id='def_' name='color' rel='ml'
VALUE
/a
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(inputHtml);
var text = doc.DocumentNode
.Descendants("a")
.Where(x => x.Attributes["id"]!=null &&
x.Attributes["id"].Value == "def_")
.First()
.InnerText;