2012-05-09 3 views
0

Я натолкнулся на фазу своего кода, что мне нужно преобразовать объект Element в int, когда я знаю, что объект Element содержит int. Но я не могу найти способ конвертировать это в int. Вот код:Преобразование элемента элемента в Int?

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

     // now convert "line" into an int 

Как я могу преобразовать lineElement в int?

+4

Вы имеете в виду 'roundNumber' элемент содержит текст, который представляет собой целое число? Если это так, попробуйте вызвать 'line.getTextContent()' и передать это, например, 'Integer.parseInt()'. –

+1

Я не очень много делаю с DOM 'Element's в Java, но, возможно, вы можете использовать комбинацию [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

Но лучше всего проверять XML с помощью XSD, прежде чем делать что-либо подобное, или 'line.getTextContent(). Match (" \\ d + ")' заботится о размере числа. – elias

1

, если вы знаете имя атрибута вы можете сделать следующее:

Integer.valueOf(line.getAttribute("<attribute name>")); 
Смежные вопросы