| Код | package test;
import java.io.StringReader; import java.io.StringWriter;
import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.xml.sax.InputSource;
public class superTest { public static void run() { try { String input = "<?xml version=\"1.0\" encoding=\"windows-1251\" ?>" + "<root doc_version=\"1.0\" doc_type=\"data\">" + "<OTPR name=\"Новокуйбышевска\"/>" + "</root>";
InputSource is = new InputSource(); is.setEncoding("windows-1251"); is.setCharacterStream(new StringReader(input)); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(is);
StringWriter writer = new StringWriter(); TransformerFactory tFactory = TransformerFactory.newInstance(); Transformer transformer = tFactory.newTransformer(); transformer.setOutputProperty("encoding", "windows-1251");
transformer.transform(new DOMSource(doc.getElementsByTagName("OTPR").item(0)), new StreamResult(writer));
String result = writer.toString(); System.out.println(result);
} catch (Exception ex) { } } public static void main(String[] args) { superTest.run(); } }
|
на выходе будет как в прекрепленном файле
такое выдает тока в 1.5. В чем подвох? -) |