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
  • Constructor Details

  • Method Details

    • 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)