C#中,如何获取HtmlElement的文本内容(不包括子节点的文本内空)?
比如,有以下html:
<html>
<head>
</head>
<body>
<table>
<tr>
<td>
这是我要获得的文本
<font color="red">这不是我要获得的文本</font>
</td>
</tr>
</table>
</body>
</html>
经试,是不能通HtmlElement的Inntext属性获取的。
------解决方案--------------------
你的意思是取得HtmlElement直接文本节点下的文字,而不是所有的后代文本节点的文字吧,用以下方法
- JScript code
function getText(n) { var strings = []; getStrings(n, strings); return strings.join(""); function getStrings(n, strings) { if (n.nodeType == 3 /* Node.TEXT_NODE */) strings.push(n.data); else if (n.nodeType == 1 /* Node.ELEMENT_NODE */) { for(var m = n.firstChild; m != null; m = m.nextSibling) { if (m.nodeType == 3 /* Node.TEXT_NODE */) strings.push(m.data); } } } }