1
我目前正在嘗試製作一個java文件,該文件可以使用xml進行導出。我需要實際檢索的唯一的事情是工作人員用ID的並沒有什麼else.If我的XML文件看起來像這樣:使用SaxParser獲取ID
<? xml version= "1.0" ?>
< company>
< staff id = "22" >
< firstname> kate </firstname >
< lastname> kim </lastname >
< nickname> lolo </nickname >
< salary> 10560</ salary >
</ staff>
< staff>
< firstname> Chelsea </firstname >
< lastname> young</ lastname >
< nickname> cheloung </nickname >
< salary> 200700</ salary >
</ staff>
< staff id = "23" >
< firstname> Dani </firstname >
< lastname> Heil </lastname >
< nickname> Heily </nickname >
< salary> 300000</ salary >
</ staff>
</ company>
和我的Java代碼如下所示:
package xmlfunctions;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
public class saxParser {
public static void main(String argv[]) {
try {
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser = factory.newSAXParser();
DefaultHandler handler = new DefaultHandler() {
boolean bfname = false;
public void startElement(String uri, String localName,String qName,
Attributes attributes) throws SAXException {
System.out.println("Start Element :" + qName);
if (qName.equalsIgnoreCase("FIRSTNAME")) {
bfname = true;
}
}
public void endElement(String uri, String localName,
String qName) throws SAXException {
System.out.println("End Element :" + qName);
}
public void characters(char ch[], int start, int length) throws SAXException {
if (bfname) {
System.out.println("First Name : " + new String(ch, start, length));
bfname = false;
}
}
};
saxParser.parse("KatesFile.xml", handler);
} catch (Exception e) {
e.printStackTrace();
}
}
}
我怎樣才能改變它讓它只顯示員工ID?這就是我真正想要的其他標籤。任何人都可以幫忙嗎?我很不確定如何自己取得身份證。
謝謝你絕對的傳奇!一天的幫手! – user3373261 2014-09-19 13:55:05
完美地工作! – user3373261 2014-09-19 14:26:05
如果我想獲得id和它的名字而不是數字,它的工作原理是什麼?只是它現在不能工作我已經嘗試使用它的ID有名稱而不是數字 – user3373261 2014-09-19 14:43:49