我已经编写了用于读取一个xml并过滤掉不需要的标签的代码并编写了一个新的xml。我能够使用值过滤所需的标签,但无法过滤不需要的标签值。
代码:
public static void main(String [] args)抛出异常{
XMLReader xr = new XMLFilterImpl(XMLReaderFactory.createXMLReader()) {
public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException {
if (qName.equals("COLLECTION") || qName.equals("Transaction") || qName.equals("CreatedDate")
) {
super.startElement(uri, localName, qName, atts);
}
}
public void endElement(String uri, String localName, String qName) throws SAXException {
if (qName.equals("COLLECTION") || qName.equals("Transaction") || qName.equals("CreatedDate")){
super.endElement(uri, localName, qName);
}
}
public void characters(char ch[], int start, int length) throws SAXException {
super.characters(ch, start, length);
}
};
Source src = new SAXSource(xr, new InputSource("/xml"));
Result res = new StreamResult(System.out);
TransformerFactory.newInstance().newTransformer().transform(src, res);
}