2012-02-21 3 views
3

こんにちは私はXPathに関連する疑いがあります。Xpathクエリの解決

My XMLファイルは次のようになります。ここ

<?xml version="1.0" encoding="UTF-8"?> 

<name xmlns="http://localhost/book" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://localhost/book books.xsd"> 
Java and XML 
</name> 

は、XPathクエリとその結果である

/* - 返す要素 "名前"

/*/text() - 返すテキスト "JavaとXML"

/name - なし結果

/name/text() - 結果なし

名前を指定しても結果が得られないのはなぜですか?

+0

ことが可能です。 XSLファイルまたはアプリケーションでXPathクエリをどのように使用しますか?より多くの情報を提供できますか? –

答えて

1

これは、要素namehttp://localhost/bookに宣言されているためです。したがって、XPathクエリでは、それを指定する必要があります。原則として、あなたのXMLエンジンの名前空間に渡す必要があり、それが接頭辞、その後、完全な修飾名を使用してXMLを照会、すなわち:

/ns:name/text() 

あなたはすなわち、他の技術のクエリで名前空間を指定し、使用することができますしかし、

/*[local-name() = 'name' and namespace-uri() = 'http://localhost/book'] 
+0

/ns:name/text() - これはns.lを解決できないことを報告しています.xmlns = "http:// localhost/book"をxmlns:ns = "http:// localhost/book"に変更しました。 XMLエンジン –

+0

@ GaneshPこれは、XMLエンジンでこの情報を渡す必要があるためです。言い換えれば、XMLエンジンは名前空間と接頭辞をどのように関連付ける必要があるかを知る必要があります。 –

+0

ありがとうございます。私は実際にEditix XMLエディタを使用しています。だから、エディタでそれを指定する方法があるはずです。 –