Ich muss XML-Transformation mit SAX-Parser tun, dafür muss ich Namespace aus dem XML entfernen. Da wir mit großem XML umgehen, muss ich den SAX Parser verwenden.Wie Xml Namesapce mit SAX-Parser zu entfernen
XML-Beispieleingabe:
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope"
xmlns:ns2="http://www.google.com/generation/type">
<ns2:meta>
<gender xmlns="" xmlns:ns5="http://www.google.com/generation">M</gender>
<dateOfBirth xmlns="" xmlns:ns5="http://www.google.com/generation">1976-07-19</dateOfBirth>
<ns2:languageRef>ENG</ns2:languageRef>
</ns2:meta>
<root>
mit Hilfe von SAX-Parser, ich brauche die unten ausgegeben.
<root>
<meta>
<gender>M</gender>
<dateOfBirth>1976-07-19</dateOfBirth>
<languageRef>ENG</languageRef>
</ns2:meta>
<root>
Vielen Dank im Voraus ..
Der Code, der ich versuchte,
i mit XMLFlterImpl versucht,
XMLReader xr = new XMLFilterImpl(XMLReaderFactory.createXMLReader()) {
@Override
public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException {
if (qName.contains(":")) {
String[] data = data = qName.split(":");
super.startElement(uri, localName, data[1], atts);
} else {
super.startElement(uri, localName, qName, atts);
}
}
dies der Name des Elements Präfix (Namespace) entfernt, aber nicht sicher, wie die Namespace-Attribute zu entfernen
müssen Sie SAX verwenden oder stattdessen StAX verwenden? – nandsito
Mit Sax Parser nur – pradeep
dürfen Sie StAX verwenden, um XML-Ausgabe zu schreiben, da SAX XML nicht schreibt? – nandsito