在Java中,是否可以将ContentHandler桥接到XMLStreamReader

时间:2012-09-03 12:16:05

标签: java xml sax stax

我有一个SAX ContentHandler,希望将其与StAX XMLStreamReader联系起来。这可能吗?

1 个答案:

答案 0 :(得分:1)

以下(未经测试的)代码应使用XML副本转换提供您需要的“桥接”。

import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stax.StAXSource;
import javax.xml.transform.sax.SAXResult;

void bridge(ContentHandler ch, XMLStreamReader sr) {
  StAXSource src = new StAXSource(sr);
  SAXResult res = new SAXResult(ch);
  TransformerFactory tf = TransformerFactory.newInstance();
  Transformer tr = tf.newTransformer();
  tr.transform(src, res);
}