0
我知道Java stax解析器可以和InputStreams一起使用。但是,我需要手動將大塊字符串推送到解析器而不是輸入流。如何向Java stax解析器提供大塊字符串而不是InputStreams?
會有可能嗎?
親切的問候,
我知道Java stax解析器可以和InputStreams一起使用。但是,我需要手動將大塊字符串推送到解析器而不是輸入流。如何向Java stax解析器提供大塊字符串而不是InputStreams?
會有可能嗎?
親切的問候,
您可以使用ByteArrayInputStream
纏繞你的String
塊字節。
快速例如
XMLInputFactory factory = XMLInputFactory.newFactory();
XMLStreamReader reader = factory.createXMLStreamReader(
new ByteArrayInputStream("<start></start>".getBytes("UTF-8"))
);
while (reader.hasNext()) {
int event = reader.next();
switch (event) {
case (XMLStreamConstants.START_ELEMENT): {
System.out.println(reader.getLocalName());
break;
}
}
}
輸出
start
我需要不斷地餵食絃樂。所以我需要只有一個xmlinputstream閱讀器,當我有更多的字符串塊時,我需要獲取。 – adragomir
如果API不提供接受字符串包裹字符串輸入流的方法:我如何把字符串轉換成在java中的流嗎?](http://stackoverflow.com/q/247161/637853) – Thomas
我需要不斷地喂字符串。所以我需要只有一個xmlinputstream閱讀器,當我有更多的字符串塊時,我需要獲取。 – adragomir
在這種情況下,提供您自己的流實現,根據需要在它的'read()'方法中獲取新塊。 – Thomas