-1

このようなシードリストサービスから取得したxmlがあります。

<atom:feed xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:wplc="http://www.ibm.com/wplc/atom/1.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <atom:link href="/wps/images/icons/scope_search_wcm.gif" rel="icon"/>
  <wplc:field id="name">Locations</wplc:field>
  <wplc:field id="contentSourceType">Seedlist</wplc:field>
  <wplc:field id="defaultcontext">/poc</wplc:field>
  <wplc:field id="effectivedate">1354640637000</wplc:field>
  <wplc:field id="modifier">uid=wpsadmin,o=defaultWIMFileBasedRealm</wplc:field>
  <wplc:field id="securecontext">/mypoc</wplc:field>
  <wplc:field id="search_controllable_uuid">f2bedbba-724e-420b-b066-5d0fef04c421</wplc:field>
  <wplc:field id="locale">en</wplc:field>

取得したい /mypoc

<wplc:field id="securecontext">/mypoc</wplc:field>

wplcタグには共通のローカル名があるfield ため、これを取得できません。

パーサーを使用しAbderaてxmlを解析しています。

可能であれば、QNameまたはFeed.getSimpleExtension()メソッドを使用してこれを取得したい

4

1 に答える 1

0

Abdera に固執したい場合 (これは Atom 固有です)、単一の呼び出しでその値を取得できるとは思いません:親でwplc:field使用してすべての要素を列挙し、次に を使用して正しい値を確認する必要があります.getFirstChild()getNextSibling()idgetAttributeValue()

一般的な XML パーサーを使用する場合、次のような XPath を使用してその値を直接取得できるはずです。

/atom:feed/wplc:field[@id='securecontext']

(およびのプレフィックスを定義atom済み)http://www.w3.org/2005/Atomwplchttp://www.ibm.com/wplc/atom/1.0

于 2013-03-21T20:36:57.020 に答える