我有一个javax.xml.transform.sax.SAXSource
,我想获得一个org.w3c.dom.Document
对象。我已经在Google周围搜索了几个小时,但感到沮丧。
此外,InputSource
返回的SAXSource#getInputSource()
为null,因此我无法使用它来构建org.w3c.dom.Document
。
顺便说一句,我试图实现的是从SAXSource中包含的xml中删除一些xml元素。
谢谢您的帮助!
关于我的环境的一些信息:SAXSource通过以下javax.xml.ws调度程序的invoke
方法返回给我:
Service service = Service.create(serviceName);
//...
javax.xml.ws.Dispatch<Source> dispatcher =
service.createDispatch(portName, Source.class, Service.Mode.MESSAGE);
最佳答案
您通常将此类型与Transformer结合使用:
//Source source = your SAXSource
DOMResult result = new DOMResult();
TransformerFactory.newInstance()
.newTransformer()
.transform(source, result);
Document doc = (Document) result.getNode();