Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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#_String_Split_Html Parsing - Fatal编程技术网

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;