特性 | 例子 |
孤立的<解析为文本 | < a应当解析为< a |
孤立的>解析为文本 | <a>></a>应当解析为<a>></a> |
标记属性(没有值的属性) | <input type="text" checked /> |
元素丢失结束标签 | <div><a href="test.html">测试链接</div> |
可选结束标签元素 "body", "colgroup", "dd", "dt", "head", "html", "li", "option", "p", "tbody", "td", "tfoot", "th", "thead", "tr" | <p>abc<p>123 |
无结束标签元素 "area", "base", "basefont", "br", "col", "frame", "hr", "img", "input", "isindex", "link", "meta", "param", "wbr", "bgsound", "spacer", "keygen" | <img src="1.jpg"> |
CData元素 | <script>if ( 1<a ) alert( "<div>" );</script> |
"script", "style", "textarea", "title" | |
预格式化元素 | <pre> 前面有空格</pre> |
属性值使用单引号 | <a href='#'> |
属性值使用双引号 | <a href="#" |
属性值不使用引号 | <a href=#> |
属性值丢失(但有等号) | <a href=> |
属性值前面有空格 | <a href= "test.html"> |
解析HTML声明 | <!DOCTYPE html> |
new JumonyParser().LoadDocument( "http://www.cnblogs.com/" ).Find( ".post_item a.titlelnk" )
new JumonyParser().LoadDocument( "http://www.cnblogs.com/" ).Find( ".post_item a.titlelnk" )
foreach( var title = new JumonyParser().LoadDocument( "http://www.cnblogs.com/" ).Find( ".post_item a.titlelnk" ) ) Console.WriteLine( title.InnerText() );
选择器 | 描述 |
* | 选择所有元素 |
p a | 选择子代元素 |
p>a | 选择子级元素 |
p+a | 选择相邻元素 |
p~a | 选择后继元素 |
[attr] | 属性存在选择 |
[attr=value] | 属性值精确匹配 |
[attr~=value] | 属性值近似匹配 |
[attr^=value] | 属性值开头匹配 |
[attr*=value] | 属性值包含匹配 |
[attr$=value] | 属性值结尾匹配 |
[attr!=value] | 属性值否定匹配 |
:not | 否定伪类 |
:only-child | 唯一子元素伪类 |
:only-of-type | 唯一类型伪类 |
:empty | 空元素伪类 |
:nth-child | 结构化伪类 |
:nth-last-child | 结构化伪类 |
:nth-of-type | 结构化伪类 |
:nth-last-of-type | 结构化伪类 |
:first-child | 结构化伪类 |
:last-child | 结构化伪类 |
:first-of-type | 结构化伪类 |
:last-of-type | 结构化伪类 |
qq385723790 发表于 2016-5-30 22:00
这个和Csquery比谁更有优势呢?
欢迎光临 CSkin博客 (http://bbs.cskin.net/) | Powered by Discuz! X3.2 |