writeOneMoreElement() 메서드에 입력 할 때 아래 예에서 Exception이 발생하면 XML에 쓰는 이전 데이터에 액세스하는 방법을 설명합니다. writeOneMoreElement() 메소드에서 예외가 발생하면 모든 항목을 잃어버린다. 예외의 규칙stax 파서를 사용하여 XML을 작성하는 동안 내 자신의 메서드에서 예외가 발생하면 이전 데이터를 저장하거나 액세스하는 방법
public class xmlSample {
public static void main(String[] args) {
XMLOutputFactory factory = XMLOutputFactory.newInstance();
try {
XMLStreamWriter writer1 = factory.createXMLStreamWriter(new FileWriter("E:\\sampleXML.xml"));
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
XMLOutputFactory xmlOutputFactory = new WstxOutputFactory();
XMLStreamWriter2 xtw = (XMLStreamWriter2) new WstxOutputFactory()
.createXMLStreamWriter(byteArrayOutputStream, "UTF-8");
xtw.writeStartDocument("UTF-8", "1.1");
xtw.setPrefix("itm", "http://adt.cmn.xmlns.commons.platform.actiance.com/core/1.0");
xtw.writeStartElement("document");
xtw.writeStartElement("data1");
xtw.writeCharacters("Sagar");
xtw.writeEndElement();
XMLStreamWriter2 writer2 = writeOneMoreElement(xtw);
writer2.writeStartElement("data2");
writer2.writeCharacters("Shubham");
writer2.writeEndElement();
writeOneMoreElement(writer2);
writer2.writeEndDocument();
writer2.close();
xtw.flush();
xtw.close();
System.out.println("XML :" + new String(byteArrayOutputStream.toByteArray()));
} catch (XMLStreamException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
private static XMLStreamWriter2 writeOneMoreElement(XMLStreamWriter2 writer2)
throws XMLStreamException, IOException {
try {
writer2.writeStartElement("ABC");
writer2.writeStartElement("data2");
writer2.writeAttribute("name2", "value2");
writer2.writeAttribute("otherAttribute", "true");
writer2.writeEndElement();
writer2.writeStartElement("data3");
writer2.writeAttribute("name3", "value3");
writer2.writeAttribute("otherAttribute", "true");
writer2.writeEndElement();
writer2.writeEndElement();
writer2.flush();
} catch (Exception e) {
e.printStackTrace();
}
return writer2;
}
}
안녕하세요, 당신이 도움이되었다고하면 대답을 수락하거나 도움이되지 않은 이유를 언급 해주십시오. 이것은 앞으로 다른 모든 개발자가 이것을 읽는 데 도움이됩니다. – Ray