java类javax.xml.parsers.SAXParser的实例源码

AnalyzeZipTask.java 文件源码 项目:tenhou-visualizer 阅读 25 收藏 0 点赞 0 评论 0
@Override
protected Void call() throws Exception {
    Platform.runLater(this.observableList::clear);
    SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
    SAXParser saxParser = saxParserFactory.newSAXParser();
    try (ZipFile zipFile = new ZipFile(this.selectedFile)) {
        int workMax = zipFile.size();
        long workDone = 0;
        for (Enumeration<? extends ZipEntry> e = zipFile.entries(); e.hasMoreElements();) {
            ZipEntry zipEntry = e.nextElement();
            int position = zipEntry.getName().charAt(zipEntry.getName().length() - 7) - '0';
            SyantenAnalyzer analyzer = new SyantenAnalyzer(position);
            ParseHandler parseHandler = new ParseHandler(analyzer);
            try (InputStream is = zipFile.getInputStream(zipEntry);
                GZIPInputStream gzis = new GZIPInputStream(is)) {
                saxParser.parse(gzis, parseHandler);
            }
            ArrayList<MahjongScene> scenes = analyzer.getOriScenes();
            workDone++;
            Platform.runLater(() -> observableList.addAll(scenes));
            updateMessage(workDone + "/" + workMax);
            updateProgress(workDone, workMax);
        }
    }
    return null;
}
mxGraphViewImageReader.java 文件源码 项目:Tarski 阅读 21 收藏 0 点赞 0 评论 0
/**
 * Creates the image for the given display XML input source. (Note: The XML is an encoded
 * mxGraphView, not mxGraphModel.)
 * 
 * @param inputSource Input source that contains the display XML.
 * @return Returns an image representing the display XML input source.
 */
public static BufferedImage convert(InputSource inputSource, mxGraphViewImageReader viewReader)
    throws ParserConfigurationException, SAXException, IOException {
  BufferedImage result = null;
  SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
  XMLReader reader = parser.getXMLReader();

  reader.setContentHandler(viewReader);
  reader.parse(inputSource);

  if (viewReader.getCanvas() instanceof mxImageCanvas) {
    result = ((mxImageCanvas) viewReader.getCanvas()).destroy();
  }

  return result;
}
DefaultCompletionProvider.java 文件源码 项目:powertext 阅读 20 收藏 0 点赞 0 评论 0
/**
 * Loads completions from an XML input stream.  The XML should validate
 * against <code>CompletionXml.dtd</code>.
 *
 * @param in The input stream to read from.
 * @param cl The class loader to use when loading any extra classes defined
 *        in the XML, such as custom {@link FunctionCompletion}s.  This
 *        may be <code>null</code> if the default is to be used, or if no
 *        custom completions are defined in the XML.
 * @throws IOException If an IO error occurs.
 */
public void loadFromXML(InputStream in, ClassLoader cl) throws IOException {

    //long start = System.currentTimeMillis();

    SAXParserFactory factory = SAXParserFactory.newInstance();
    factory.setValidating(true);
    CompletionXMLParser handler = new CompletionXMLParser(this, cl);
    BufferedInputStream bin = new BufferedInputStream(in);
    try {
        SAXParser saxParser = factory.newSAXParser();
        saxParser.parse(bin, handler);
        List<Completion> completions =  handler.getCompletions();
        addCompletions(completions);
        char startChar = handler.getParamStartChar();
        if (startChar!=0) {
            char endChar = handler.getParamEndChar();
            String sep = handler.getParamSeparator();
            if (endChar!=0 && sep!=null && sep.length()>0) { // Sanity
                setParameterizedCompletionParams(startChar, sep, endChar);
            }
        }
    } catch (SAXException se) {
        throw new IOException(se.toString());
    } catch (ParserConfigurationException pce) {
        throw new IOException(pce.toString());
    } finally {
        //long time = System.currentTimeMillis() - start;
        //System.out.println("XML loaded in: " + time + "ms");
        bin.close();
    }

}
Digester.java 文件源码 项目:apache-tomcat-7.0.73-with-comment 阅读 23 收藏 0 点赞 0 评论 0
/**
 * Return the SAXParser we will use to parse the input stream.  If there
 * is a problem creating the parser, return <code>null</code>.
 */
public SAXParser getParser() {

    // Return the parser we already created (if any)
    if (parser != null) {
        return (parser);
    }

    // Create a new parser
    try {
        parser = getFactory().newSAXParser();
    } catch (Exception e) {
        log.error("Digester.getParser: ", e);
        return (null);
    }

    return (parser);

}
Bug6594813.java 文件源码 项目:openjdk-jdk10 阅读 23 收藏 0 点赞 0 评论 0
/**
 * Test an identity transform of an XML document with NS decls using a
 * non-ns-aware parser. Output result to a StreamSource. Set ns-awareness to
 * FALSE and prefixes to TRUE.
 */
@Test
public void testXMLNoNsAwareStreamResult2() {
    try {
        // Create SAX parser *without* enabling ns
        SAXParserFactory spf = SAXParserFactory.newInstance();
        spf.setNamespaceAware(false); // Same as default
        spf.setFeature("http://xml.org/sax/features/namespace-prefixes", true);
        SAXParser sp = spf.newSAXParser();

        // Make sure that the output is well formed
        String xml = runTransform(sp);
        checkWellFormedness(xml);
    } catch (Throwable ex) {
        Assert.fail(ex.toString());
    }
}
RSSParser.java 文件源码 项目:android-tv-news 阅读 22 收藏 0 点赞 0 评论 0
/**
 * Parses input stream as an RSS 2.0 feed.
 *
 * @return in-memory representation of an RSS feed
 * @throws IllegalArgumentException if either argument is {@code null}
 */
private RSSFeed parse(SAXParser parser, InputStream feed)
        throws SAXException, IOException {
    if (parser == null) {
        throw new IllegalArgumentException("RSS parser must not be null.");
    } else if (feed == null) {
        throw new IllegalArgumentException("RSS feed must not be null.");
    }

    // SAX automatically detects the correct character encoding from the stream
    // See also http://www.w3.org/TR/REC-xml/#sec-guessing
    final InputSource source = new InputSource(feed);
    final XMLReader xmlreader = parser.getXMLReader();
    final RSSHandler handler = new RSSHandler(config);

    xmlreader.setContentHandler(handler);
    xmlreader.parse(source);

    return handler.feed();
}
Bug6974551Test.java 文件源码 项目:openjdk-jdk10 阅读 25 收藏 0 点赞 0 评论 0
@Test
public void testSAX() {
    try {
        Schema schema = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI).newSchema(new StreamSource(_xsd));
        SAXParserFactory spf = SAXParserFactory.newInstance();
        spf.setNamespaceAware(true);
        spf.setValidating(true);
        spf.setSchema(schema);
        SAXParser parser = spf.newSAXParser();
        MyErrorHandler errorHandler = new MyErrorHandler();
        parser.parse(_xml, errorHandler);
        if (!errorHandler.errorOccured) {
            Assert.fail("should report error");
        }
    } catch (Exception e) {
        System.out.println(e.getMessage());
    }
}
XML_SAX_StAX_FI.java 文件源码 项目:openjdk-jdk10 阅读 22 收藏 0 点赞 0 评论 0
public void parse(InputStream xml, OutputStream finf, String workingDirectory) throws Exception {
    StAXDocumentSerializer documentSerializer = new StAXDocumentSerializer();
    documentSerializer.setOutputStream(finf);

    SAX2StAXWriter saxTostax = new SAX2StAXWriter(documentSerializer);

    SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
    saxParserFactory.setNamespaceAware(true);
    SAXParser saxParser = saxParserFactory.newSAXParser();

    XMLReader reader = saxParser.getXMLReader();
    reader.setProperty("http://xml.org/sax/properties/lexical-handler", saxTostax);
    reader.setContentHandler(saxTostax);

    if (workingDirectory != null) {
        reader.setEntityResolver(createRelativePathResolver(workingDirectory));
    }
    reader.parse(new InputSource(xml));

    xml.close();
    finf.close();
}
DatasetReader.java 文件源码 项目:parabuild-ci 阅读 25 收藏 0 点赞 0 评论 0
/**
 * Reads a {@link PieDataset} from a stream.
 *
 * @param in  the input stream.
 *
 * @return A dataset.
 *
 * @throws IOException if there is an I/O error.
 */
public static PieDataset readPieDatasetFromXML(final InputStream in) throws IOException {

    PieDataset result = null;

    final SAXParserFactory factory = SAXParserFactory.newInstance();
    try {
        final SAXParser parser = factory.newSAXParser();
        final PieDatasetHandler handler = new PieDatasetHandler();
        parser.parse(in, handler);
        result = handler.getDataset();
    }
    catch (SAXException e) {
        System.out.println(e.getMessage());
    }
    catch (ParserConfigurationException e2) {
        System.out.println(e2.getMessage());
    }

    return result;

}
DatasetReader.java 文件源码 项目:parabuild-ci 阅读 19 收藏 0 点赞 0 评论 0
/**
 * Reads a {@link PieDataset} from a stream.
 *
 * @param in  the input stream.
 *
 * @return A dataset.
 *
 * @throws IOException if there is an I/O error.
 */
public static PieDataset readPieDatasetFromXML(InputStream in) 
    throws IOException {

    PieDataset result = null;
    SAXParserFactory factory = SAXParserFactory.newInstance();
    try {
        SAXParser parser = factory.newSAXParser();
        PieDatasetHandler handler = new PieDatasetHandler();
        parser.parse(in, handler);
        result = handler.getDataset();
    }
    catch (SAXException e) {
        System.out.println(e.getMessage());
    }
    catch (ParserConfigurationException e2) {
        System.out.println(e2.getMessage());
    }
    return result;

}


问题


面经


文章

微信
公众号

扫码关注公众号