2012-05-09 7 views
0

私はオブジェクトがintを保持していることを知っているときにElementオブジェクトをintに変換する必要があることを私のコードで相違しました。しかし、 をintに変換する方法が見つからないようです。ここでは、コードは次のようになります。ElementオブジェクトをIntに変換しますか?

 // extract data from XML file 
     NodeList roundNumber = element.getElementsByTagName("roundNumber"); 
     Element line = (Element) roundNumber.item(0); 

     // now convert "line" into an int 

がどのように私はlineElementintに変換することができ ?

+4

を、あなたは 'roundNumber'要素は整数を表すテキストが含まれている意味しますか?もしそうなら、 'line.getTextContent()'を呼び出して、それを 'Integer.parseInt()'に渡してみてください。 –

+1

私はJavaでDOM要素の多くを使っていませんが、おそらくあなたは[this](http://docs.oracle.com/javase/6/docs/api/org/w3c /dom/Node.html#getTextContent())と[this](http://stackoverflow.com/questions/5585779)を参照してください。 –

+0

@RobIあなたのコメントは答えになるはずです。 –

答えて

4
int number = Integer.parseInt(line.getTextContent()); 

line.getTextContext()は常に整数を返す、またはNumberFormatExceptionがスローされることを確認してください。

+2

ちょうどコメントで、この文をtry-catchブロックにラップして、防衛的なプログラミング戦術と同じようにNumberFormatExceptionをキャッチします。 – Gamb

+0

しかし、そのようなことをする前にXSDを使ってXMLを検証するか、数値のサイズに注意して 'line.getTextContent()。matches(" \\ d + ")を実行することがベストプラクティスです。 – elias

1

あなたは次の操作を行うことができます属性の名前を知っている場合:

Integer.valueOf(line.getAttribute("<attribute name>")); 
関連する問題