2017-01-13 6 views
0

属性の値をフィールドにマップする方法を知っている人はいませんか。 MOXyを使用したXMLの属性値の抽出

<book category="cooking"> 
     <title lang="sw">Vegetarian</title> 
     <year>2008</year> 
     <price>30.00</price> 
     <authors> 
      <author>Tichaona</author> 
      <author>Ngodza</author> 
     </authors> 
    </book> 

...... 
...... 
...... 

<book category="Huffman Coding"> 
     <title lang="en">Encryption</title> 
     <year>2000</year> 
     <price>45.00</price> 
     <authors> 
      <author>Ruvimbo</author> 
     </authors> 
    </book> 

クラス内のフィールドに「SW」でタグLANGの値を言う私はMOXY拡張子を使用して、フィールドにlang属性に値を入れることができるようにしたいです。

@XmlPath("title/@lang") 
private String language; 

の線に沿ってよりは、誰もがあなたがMOXYが正しくセットアップされていると仮定すると、

答えて

1

を助けることができる、私はあなたの例であろう問題は、XPath "title/@lang"が実際に属性あなたに解決されないだろうということだと思います欲しい。

//title/@langのようなものは、lang属性の値を選択するためのトリックを行う必要があります。

+0

ありがとうChristy、なぜ2つのスラッシュが必要なのだろう?私はそれを試みます。 – ngonidzashe

+0

単一のスラッシュはルートのためのもので、doubleは直系の子ではない要素を検索することを意味します。私はあなたがMoxyを使ってそれらを必要とするかどうかを実際に100%確信していません、私はパスがマーシャリングされているクラスのルートに相対的であると仮定していたでしょう – Christy

関連する問題