{}
run-icon
Main.java
import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import java.io.ByteArrayInputStream; import java.nio.charset.StandardCharsets; public class XmlHelloWorld { public static void main(String[] args) throws Exception { String xml = """ <?xml version="1.1" encoding="UTF-8" ?> <root>&#x1B;&#27;</root> """; DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); // Important settings factory.setNamespaceAware(true); // Enable XML 1.1 (Xerces feature exposed via JAXP) try { //factory.setFeature("http://apache.org/xml/features/allow-java-encodings", true); //factory.setFeature("http://apache.org/xml/features/xinclude", false); } catch (Exception ignored) {} DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.parse( new ByteArrayInputStream(xml.getBytes(StandardCharsets.UTF_8)) ); String content = doc.getDocumentElement().getTextContent(); System.out.println("Length: " + content.length()); System.out.println("Code points:"); content.codePoints().forEach(cp -> System.out.printf("U+%04X%n", cp) ); System.out.println("Raw (may not display visibly):"); System.out.println(content); } }
Output