2012-05-09 129 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 

我怎么能转换lineElementint

+4

你的意思是'roundNumber'元素包含代表一个整数的文字?如果是这样,请尝试调用'line.getTextContent()'并将其传递给'Integer.parseInt()'。 –

+1

我并没有在Java中使用DOM'Element'做很多事情,但也许可以使用[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>"));