Package net.i2p.router.news
Class NewsXMLParser
- java.lang.Object
-
- net.i2p.router.news.NewsXMLParser
-
public class NewsXMLParser extends Object
Parse out the news.xml file which is in Atom format (RFC4287). We use the XML parser from the UPnP library.- Since:
- 0.9.17
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
NewsXMLParser.XHTMLMode
The action taken when encountering a non-whitelisted XHTML element or blacklisted attribute in the feed content.
-
Constructor Summary
Constructors Constructor Description NewsXMLParser(I2PAppContext ctx)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description BlocklistEntries
getBlocklistEntries()
The blocklist entries.List<CRLEntry>
getCRLEntries()
The news CRL entries.List<NewsEntry>
getEntries()
The news entries.NewsMetadata
getMetadata()
The news metatdata.static List<Node>
getNodes(Node node, String name)
Helper to get all Nodes matching the namestatic void
main(String[] args)
Node
parse(File file)
Process the XML file.Node
parse(InputStream in)
Process the XML input stream.void
setXHTMLMode(NewsXMLParser.XHTMLMode mode)
Sets the action taken when encountering a non-whitelisted XHTML element in the feed content.
-
-
-
Constructor Detail
-
NewsXMLParser
public NewsXMLParser(I2PAppContext ctx)
-
-
Method Detail
-
setXHTMLMode
public void setXHTMLMode(NewsXMLParser.XHTMLMode mode)
Sets the action taken when encountering a non-whitelisted XHTML element in the feed content. Must be set before parse(). Default REMOVE_ELEMENT.
-
parse
public Node parse(File file) throws IOException
Process the XML file.- Parameters:
file
- XML content only. Any su3 or gunzip handling must have already happened.- Returns:
- the root node
- Throws:
IOException
- on any parse error
-
parse
public Node parse(InputStream in) throws IOException
Process the XML input stream.- Parameters:
in
- XML content only. Any su3 or gunzip handling must have already happened.- Returns:
- the root node
- Throws:
IOException
- on any parse error
-
getEntries
public List<NewsEntry> getEntries()
The news entries. Must call parse() first.- Returns:
- sorted, newest first, null if parse failed
-
getMetadata
public NewsMetadata getMetadata()
The news metatdata. Must call parse() first.- Returns:
- null if parse failed
-
getCRLEntries
public List<CRLEntry> getCRLEntries()
The news CRL entries. Must call parse() first.- Returns:
- unsorted, null if none
- Since:
- 0.9.26
-
getBlocklistEntries
public BlocklistEntries getBlocklistEntries()
The blocklist entries. Must call parse() first.- Returns:
- null if none
- Since:
- 0.9.28
-
getNodes
public static List<Node> getNodes(Node node, String name)
Helper to get all Nodes matching the name- Returns:
- non-null
-
main
public static void main(String[] args)
-
-