diff --git a/HTMLKit/HTMLParser.m b/HTMLKit/HTMLParser.m
index 6f7bb46..edfd6ea 100644
--- a/HTMLKit/HTMLParser.m
+++ b/HTMLKit/HTMLParser.m
@@ -17,6 +17,7 @@
#import "HTMLElementAdjustment.h"
#import "HTMLMarker.h"
#import "NSString+HTMLKit.h"
+#import "CSSSelectors.h"
@interface HTMLTokenizer (Private)
@property (nonatomic, weak) HTMLParser *parser;
@@ -124,11 +125,12 @@
- (NSArray *)parseFragmentWithContextElement:(HTMLElement *)contextElement
{
if (contextElement == nil) {
- return nil;
+ return @[];
}
if ([_contextElement isEqual:contextElement]) {
- return [_document childNodeAtIndex:0].childNodes.array;
+ HTMLElement *root = [_document firstElementMatchingSelector:rootSelector()];
+ return root? root.childNodes.objectEnumerator.allObjects: @[];
}
[self initializeDocument];
@@ -173,7 +175,7 @@
[self runParser];
- return root.childNodes.array;
+ return root.childNodes.objectEnumerator.allObjects;
}
- (void)runParser