1
我正在閱讀HTML,目的只是從中提取<body>
的內容。閱讀HTML文檔時XDocument沒有html元素
下面的標記是由DevExpress RichEditControl
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>
</title>
<style type="text/css">
.cs95E872D0{text-align:left;text-indent:0pt;margin:0pt 0pt 0pt 0pt}
.csCF6BBF71{color:#000000;background-color:transparent;font-family:Times New Roman;font-size:12pt;font-weight:normal;font-style:normal;}
</style>
</head>
<body>
<p class="cs95E872D0"><span class="csCF6BBF71">Content goes here</span></p></body>
</html>
產生在從this answer如何讀取文件的例子,我寫了下面的功能:
private string ParseHtml(string html)
{
XDocument doc = XDocument.Parse(html);
return doc.Elements("html").Single().Element("body").Value;
}
好像它應該工作在理論,但在實踐中,LINQ查詢返回.Elements("html")
我沒有結果在這裏標記?我如何閱讀html文檔並提取我需要的內容?
我想補充'XNamespace'有一個GetName方法,而XName也有一個get方法。而不是硬編碼命名空間doc.Root.GetDefaultNamespace();會得到「http://www.w3.org/1999/xhtml」,如果元素中沒有命名空間,它就會工作。 –