我正在阅读一个带有SAX解析器的XML文件(这部分可以改变它,这是一个很好的理由).
当我找到必要的属性时,我需要更改它们的值并将生成的XML文件保存为新文件.
我怎样才能做到这一点?
Afaik,SAX只是解析器.您必须选择其他库来编写XML.
如果您只是更改属性或更改元素名称而不是更改XML的结构,那么这应该是相对容易的任务.使用STaX作为一名作家:
// Start STaX
OutputStream out = new FileOutputStream("data.xml");
XMLOutputFactory factory = XMLOutputFactory.newInstance();
XMLStreamWriter writer = factory.createXMLStreamWriter(out);
Run Code Online (Sandbox Code Playgroud)
现在,扩展SAX DefaultHandler:
startDocument(){
writer.writeStartDocument("UTF-8", "1.0");
}
public void startElement(String namespaceURI, String localName,
String qName, Attributes atts) {
writer.writeStartElement(namespaceURI, localName);
for(int i=0; i<atts.getLength(); i++){
writer.writeAttribute(atts.getQName(i), atts.getValue(i));
}
}
public void endElement(String uri, localName, qName){
writer.writeEndElement();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5496 次 |
| 最近记录: |