Hi all,
having following code I always get null which I do not understand:
OMFactory factory = OMAbstractFactory.getOMFactory();
StAXOMBuilder builder = new StAXOMBuilder();
...
String[] tokenizer = rootPath.split("/");
// create all nodes that are in the root path
LinkedHashSet<OMElement> path = new LinkedHashSet<OMElement>();
int i = 0;
for (String pathPart : tokenizer) {
if (!pathPart.equals("")) {
OMElement element = factory.createOMElement(pathPart, null);
path.add(element);
}
}
// now we have all nodes created but with no hierarchy
OMElement[] elements = new OMElement[0];
elements= path.toArray(new OMElement[path.size()]);
// create the hierarchy by adding the last node to the
// previous one till we reached the first one.
for (int j = elements.length-1; j > 0; j--) {
elements[j-1].addChild(elements[j]);
}
// Get rid of the overhead and expose just one node
OMElement root = elements[0];
...
AXIOMXPath xpath = new AXIOMXPath("/html/body");
OMElement injectionPoint = (OMElement)xpath.selectSingleNode(root);
...
When I debug the code I get for root:
root OMElementImpl (id=61)
attributes null
builder null
done true
factory OMLinkedListImplFactory (id=50)
firstChild OMElementImpl (id=80)
lastChild OMElementImpl (id=80)
lineNumber 0
localName "html" (id=84)
namespaces null
nextSibling null
nodeType 0
noPrefixNamespaceCounter 0
ns null
parent null
previousSibling null
but then for xpath.selectSingleNode(root) it always returns null.
I am doing obvious something wrong, but I am not sure what. Is there
some obvious problem?
salu2
--
Thorsten Scherler thorsten.at.apache.org
Open Source Java consulting, training and solutions