2013-05-06 2 views
0

я знаю, что вы можете преобразовать InputStream в строку, используя что-то вроде:Как получить весь xml в виде строки из потока с помощью SAX-парсера?

public static String convertStreamToString(ServletInputStream is) { 
    java.util.Scanner s = new java.util.Scanner(is).useDelimiter("\\A"); 
    return s.hasNext() ? s.next() : ""; 
} 

Что хорошо, однако мой входной поток является XML-я анализирую с помощью SAX Parser, и мне было интересно, если есть более быстрый способ, чтобы получить XML как строку, так как парсер уже проходит через поток.

я могу заставить его работать на concating строку во всех событиях, но мне было интересно, если есть более быстрый/встроенный способ сделать это, так как этот код действительно производительность чувствительного

ответ

0

Если у вас есть для использования SAX, похоже, нет встроенного способа, см. Echoing an XML File with the SAX Parser. Или рассмотрите возможность использования StAX, если сможете.