0
我想在我的java sax解析器中將標記的內容變成變量。但是,字符方法只返回字符數組。反正有沒有把Char數組變成Int?薩克斯解析器字符數組整數?
公共無效字符(字符CH [],詮釋開始,詮釋 長度){
if(this.in_total_results) { // my INT varialble would be nice here! }
}
誰能幫助呢?
親切的問候,
安迪
我想在我的java sax解析器中將標記的內容變成變量。但是,字符方法只返回字符數組。反正有沒有把Char數組變成Int?薩克斯解析器字符數組整數?
公共無效字符(字符CH [],詮釋開始,詮釋 長度){
if(this.in_total_results) { // my INT varialble would be nice here! }
}
誰能幫助呢?
親切的問候,
安迪
要真正正確的,你需要積累值中的字符傳遞,因爲它可以不同於每個標籤一次。
如果您在文本中有實體,則可能會發生這種情況。如<a>123</a>
的標籤相當於<a>123</a>
(49,50,51是說明性的,但我認爲這是正確的代碼1,2,3)
因此,這裏是從this question採取的摘錄:
private StringBuffer curCharValue = new StringBuffer(1024);
@Override
public void startElement (String uri, String localName,
String qName, Attributes attributes) throws SAXException {
if(qName.equals("author")){
curCharValue.clear();
}
}
@Override
public void characters (char ch[], int start, int length) throws SAXException
{
//already synchronized
curCharValue.append(char, start, length);
}
@Override
public void endElement (String uri, String localName, String qName)
throws SAXException
{
if(qName.equals("author")){
String author = curCharValue.toString();
}
}
要從StringBuffer
轉換爲int,只需使用new Integer(curCharValue.toString())
。請注意,還有其他方法可將String
轉換爲Integer
或int
,正如評論中指出的那樣。
好的答案,我寧願Integer.parseInt(..)到新的Integer(...),因爲它返回一個'int'而不是'Integer',並且效率更高。如果需要整數,我會使用Integer.valueOf(..) – 2010-04-04 20:40:41