This page (revision-1) was last changed on 09-Nov-2011 09:00 by Dieter Käppel

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
1 09-Nov-2011 09:00 1 KB Dieter Käppel

Page References

Incoming links Outgoing links
NekoHTML ...nobody

Version management

Difference between version and

At line 1 added 27 lines
Mit dem NekoHTML-Parser ist es möglich, HTML-Code wie er in der Praxis auftritt, zu parsen. Das Maven-Artifakt lautet:
{{{
<dependency>
<groupId>net.sourceforge.nekohtml</groupId>
<artifactId>nekohtml</artifactId>
<version>1.9.15</version>
</dependency>
}}}
Das Parsen geht vonstatten, indem ein Parser erzeugt wird:
{{{
DOMParser parser = new DOMParser();
parser.setFeature("http://xml.org/sax/features/namespaces", false);
getParser().parse(new InputSource(inputStream));
Document document = getParser().getDocument();
}}}
Falls man keine Namespace-basierte Analyse vornehmen möchte, ist das Ausschalten der XML-Namespace-Handling wichtig. Sonst werden im HTML enthaltene Namespace-Notationen verwendet, in der Folge müssten diese bei XPath-Ausdrücken ebenfalls angegeben werden. Das ist prinziell möglich, aber umständlich und meist unnötig.
{{{
XPath xpath = XPathFactory.newInstance().newXPath();
Node node = (Node)xpath.evaluate("//FORM", document, XPathConstants.NODE);
}}}
Die HTML-Tags sind laut Spezifikation Upper-Case, die Attribute Lower-Case.