0

XML からコンテンツを取得するためのサーブレットを作成している XML があります。そのようなタグの 1 つ<itunes:author>Jonathan Kendrick</itunes:author>
に、I need to get author value for this があります。のため:

名前空間を使用して:のエスケープ シーケンスを使用しようとしましたが、うまくいきませんでした。

他のXML要素の残りについては、単に使用しています

String link=node.getChildText("link").toString();

Jdomパーサーを使用しています

4

1 に答える 1

3

XML では、シーケンス「itunes:author」は Q-Namem と呼ばれるものを「修飾名」を表します。XML では、「名前空間プレフィックス」と「ローカル名」で構成されます。あなたの例では、名前空間のプレフィックスは「itunes」で、「ローカル名」は「作成者」です。

必要なのは、プレフィックス「itunes」にリンクされた名前空間の「author」要素です。通常、実際の名前空間は完全な URL です。あなたの例の完全な URL はおそらく xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" だと思いますが、それを確認する必要があります。

したがって、名前空間は「http://www.itunes.com/dtds/podcast-1.0.dtd」であり、プレフィックスは「itunes」であると宣言されています(ただし、他の何かである可能性があります-実際のプレフィックス名は技術的に重要ではありません...)

「http://www.itunes.com/dtds/podcast-1.0.dtd」名前空間で「作成者」を取得したいので、次のようにします。

String author = node.getChildText("author", Namespace.getNamespace("http://www.itunes.com/dtds/podcast-1.0.dtd"));

名前空間の詳細については、http ://www.w3schools.com/xml/xml_namespaces.asp をご覧ください。

于 2012-05-18T00:13:13.503 に答える