目前 Psychopath Xpath 处理器使用 XercesLoader 类加载字节流并创建 org.w3c.dom.Document 并且可以传递它来评估 Xpath。
InputStream is = new FileInputStream("resources/test.xml");
DOMLoader loader = new XercesLoader();
Document doc = loader.load(is);
我使用 axiom 创建了 org.w3c.dom.Document 并将其传递给 Psychopath。
InputStream is = new FileInputStream("resources/test.xml");
OMMetaFactory omMetaFactory = OMAbstractFactory.getMetaFactory(OMAbstractFactory.FEATURE_DOM);
OMFactory omFac = omMetaFactory.getOMFactory();
OMXMLParserWrapper wrapper = OMXMLBuilderFactory.createOMBuilder(omFac, is) ;
Document doc = (Document) wrapper.getDocument();
但是当通过 doc2 它给出了错误
线程“main”org.w3c.dom.DOMException 中的异常:NOT_SUPPORTED_ERR:实现不支持请求的对象或操作类型。在 org.apache.axiom.om.impl.dom.DOMUtil.newDOMException(DOMUtil.java:82) 在 org.apache.axiom.om.impl.dom.NodeImpl.compareDocumentPosition(NodeImpl.java:212) 在 org.eclipse .wst.xml.xpath2.processor.internal.types.NodeType.compare_node(NodeType.java:219) 在 org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType.access$0(NodeType.java:207 ) 在 org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType$1.compare(NodeType.java:64) 在 java.util.TreeMap.put(TreeMap.java:545) 在 java.util.TreeSet .add(TreeSet.java:255) 在 java.util.AbstractCollection.addAll(AbstractCollection.java:342) 在 java.util.TreeSet.addAll(TreeSet.java:
需要解释。如何将使用公理制作的 DOM 文档实例传递给 Psychopath 以评估 XPath?