1
我正在尋找最佳方式來通知我的類,該類創建xml解析器的實例並對每個解析的代碼行進行實例化。解析xml以及每個節點通知要調用方法的類後
我想在解析器從讀取下一行之前得到的每一行之後更新gui等,最好的方法是什麼?讓xmlparser成爲觀察者?
Controller.java
public class Controller {
public Controller(){
XMLParser parser = new XMLParser():
parser.parseDocument() //Get value after each loop
}
}
XMLParser.java
public class XMLParser {
String type="", value="";
public void parseDocument() throws Exception{
XMLInputFactory inputFactory = XMLInputFactory.newInstance();
InputStream in = new FileInputStream("gaugeInput.xml");
XMLStreamReader streamReader = inputFactory.createXMLStreamReader(in);
streamReader.nextTag(); // Advance to "gauge_input" element
streamReader.nextTag(); // Advance to "gauge" element
while (streamReader.hasNext()) {
if (streamReader.isStartElement()) {
switch (streamReader.getLocalName()) {
case "type": {
type = streamReader.getElementText();
break;
}
case "value": {
value = streamReader.getElementText();
break;
}
}
}
else if(streamReader.isEndElement()){
System.out.println("Package for controller: type: "+type+" value: "+value);
}
streamReader.next();
}
}
}