diff options
Diffstat (limited to 'Master/Agile Software Development/TestApp/src/Parser/HtmlParser.java')
| -rw-r--r-- | Master/Agile Software Development/TestApp/src/Parser/HtmlParser.java | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/Master/Agile Software Development/TestApp/src/Parser/HtmlParser.java b/Master/Agile Software Development/TestApp/src/Parser/HtmlParser.java new file mode 100644 index 0000000..96ad2b2 --- /dev/null +++ b/Master/Agile Software Development/TestApp/src/Parser/HtmlParser.java @@ -0,0 +1,56 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package Parser; + +import java.util.logging.Level; +import java.util.logging.Logger; +import org.htmlparser.util.NodeList; +import org.htmlparser.util.ParserException; +import testapp.data.Item; +import testapp.data.PageItem; +import java.util.logging.*; + +/** + * + * @author + */ +public class HtmlParser //extends NodeVisitor { +{ + + public HtmlParser() { + } + + public Item parse(String url) { + try { + PageItem rootNode = new PageItem(url,null); + + org.htmlparser.Parser parser = new org.htmlparser.Parser(rootNode.getUrl()); + NodeList nodeList = parser.parse(null); + + nodeList.visitAllNodesWith(new Visitor(rootNode)); + + return rootNode; + + } catch (ParserException ex) { + Logger.getLogger(HtmlParser.class.getName()).log(Level.SEVERE, null, ex); + return null; + } + } + + public Item parse(Item rootItem) { + try { + org.htmlparser.Parser parser = new org.htmlparser.Parser(rootItem.getUrl()); + NodeList nodeList = parser.parse(null); + + nodeList.visitAllNodesWith(new Visitor(rootItem)); + + return rootItem; + + } catch (ParserException ex) { + Logger.getLogger(HtmlParser.class.getName()).log(Level.SEVERE, null, ex); + return null; + } + } +} |
