繁体   English   中英

javax StreamSource的目的是什么

[英]what is the purpose of javax StreamSource

我正在解析作为InputStream读入的xml文档,并且看到了一个示例 ,该示例首先在javax.xml.transform.stream.StreamSource中对流进行分级。 当我可以解析读入的流时为什么这样做? Java API的描述无济于事:“充当XML标记流形式的转换源的持有人。”

StreamSource示例:

    XMLInputFactory xif = XMLInputFactory.newFactory();
    StreamSource reportStream = 
              new StreamSource(new URL("file:///myXmlDocURL.xml").openStream());
    XMLStreamReader xmlReader = xif.createXMLStreamReader(reportStream);
    xmlReader.nextTag();
    while (xmlReader.hasNext()) {
        if (xmlReader.getLocalName().equals("attributeICareAbout")) {
            String tempTagValue = xmlReader.getText();
            xmlReader.nextTag();
        }
    }
    xmlReader.close();

没有StreamSource的示例:

    XMLInputFactory xif = XMLInputFactory.newFactory();        
    XMLStreamReader xmlReader = 
      xif.createXMLStreamReader(new URL("file:///myXmlDocURL.xml").openStream());
    xmlReader.nextTag();
    while (xmlReader.hasNext()) {
        if (xmlReader.getLocalName().equals("attributeIcareAbout")) {
            String tempTagValue = xmlReader.getText();
            xmlReader.nextTag();
        }
    }
    xmlReader.close();

这是一个抽象,因此相同的解析代码可用于各种源(注意: StreamSource实现Source ):

从文件获取XML只是一种可能性。 还有的实现Source为DOM( DOMSource ),SAX( SAXSource ),StAX的( StAXSource ),和JAXB( JAXBSource )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM