Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javax StreamSource的用途是什么_Java_Xml - Fatal编程技术网

javax StreamSource的用途是什么

javax StreamSource的用途是什么,java,xml,Java,Xml,我正在解析一个作为InputStream读入的xml文档,我在javax.xml.transform.stream.StreamSource中看到了第一个阶段。当我可以解析读入的流时,为什么要这样做?JavaAPI没有帮助:“充当XML标记流形式的转换源的持有者。” StreamSource的示例: XMLInputFactory xif = XMLInputFactory.newFactory(); StreamSource reportStream =

我正在解析一个作为InputStream读入的xml文档,我在javax.xml.transform.stream.StreamSource中看到了第一个阶段。当我可以解析读入的流时,为什么要这样做?JavaAPI没有帮助:“充当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
implements
Source
):

从文件中获取XML只是一种可能性。对于DOM(
DOMSource
)、SAX(
SAXSource
)、StAX(
StAXSource
)和JAXB(
JAXBSource
)也有
Source
的实现