我尝试更新从数据库读取的XML文件,保存为XMLType,然后我执行SAXParse保存变量所需的所有信息,用于构建对数据库的进一步查询。根据我读过的值,我正在检查一些条件,然后我想更新3个节点的值。如何更新值。下面是我用来解析文档的代码,但我不知道如何使用SAX更新java中的XML文件。
public void parseXML(int i) throws XMLParseException, SAXException, IOException, SQLException {
String xml = printXML(i);
saxParser.parse(new InputSource(new StringReader(xml)), handler);
}
在handler
我有各种条件来保存我感兴趣的东西:
public class UserHandler extends DefaultHandler {
StringBuilder builder = new StringBuilder();
private Data data = new Data();
boolean idOrder = false;
boolean idReader = false;
@Override
public void startElement(String uri,
String localName, String qName, Attributes attributes)
throws SAXException {
if (qName.equalsIgnoreCase("order")) {
data.setIdOrder(attributes.getValue("ID_ORDER"));
} else if (qName.equalsIgnoreCase("id_reader")) {
idReader = true;
}
builder.setLength(0);
}
@Override
public void endElement(String uri,
String localName, String qName) throws SAXException {
if (qName.equalsIgnoreCase("id_reader")) {
data.setIdReader(builder.toString());
}
}
@Override
public void characters(char ch[],
int start, int length) throws SAXException {
if (idReader) {
builder.append(new String(ch, start, length));
}
}
}
请给我一些提示。