XPath null zurückgeben für "Knoten", wenn isNameSpaceAware und isValidating sind "wahr"

Ich bin immer ein null-Knoten aus, wenn ich eine versuche zu Parsen einer XML-Datei.

XPath xPath = XPathFactory.newInstance().newXPath();
    Node node = null;
    try {
        node = (Node) xPath.evaluate(
                "/mynode",
                doc,
                XPathConstants.NODE);

Ich bin mit dieser Frage nur für den Fall-

1. DocumentBuilderFactory - setNameSpaceAware ist wahr

2. DocumentBuilderFactory - setValidating wahr ist.

Wenn diese auf false gesetzt, dann erhalte ich die richtigen Ergebnisse. Kann mir jemand helfen zu verstehen was die Beziehung setzen dieser Attribute auf false?
(Ich habe diese Frage, aber es nicht klar meine Zweifel)

Hier ist die xml-

<?xml version="1.0" encoding="UTF-8"?>
<mynode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.example.com" xsi:schemaLocation="http://www.example.com example.xsd">
    <name>TargetName</name>
    <desc>desc goes here</desc>
    <pack>my.this</pack>
    <object>my.ExampleObject</object>
    <properties>
        <attrib>
            <name>id</name>
            <value>ZZZ</value>
        </attrib>
        <attrib>
            <name>ind</name>
            <value>X</value>
        </attrib>
    </properties>
    <children>
        <child>
            <name>childnodename</name>
            <desc>description goes here</desc>
            <invalues>
                <scope>ALL</scope>
            </invalues>
            <outvalues>
                <scope>ALL</scope>
            </outvalues>
            <akey>
                <aname>AAA</aname>
                <key></key>
            </akey>
            <msg>
                <success>code1</success>
                <failure>code2</failure>
            </msg>
        </child>
    </children>
</mynode>
InformationsquelleAutor Pramod | 2011-07-20
Schreibe einen Kommentar