Tôi muốn đọc một tệp XML có khai báo lược đồ trong đó.Làm thế nào để đọc XML được định dạng tốt trong Java, nhưng bỏ qua lược đồ?
Và đó là tất cả những gì tôi muốn làm, hãy đọc nó. Tôi không quan tâm nếu nó hợp lệ, nhưng tôi muốn nó được hình thành tốt.
Vấn đề là người đọc đang cố đọc tệp lược đồ và không thành công.
Tôi thậm chí không muốn thử.
Tôi đã thử vô hiệu xác thực, nhưng nó vẫn khăng khăng cố gắng đọc tệp lược đồ.
Lý tưởng nhất, tôi muốn làm điều này với một Java 5 JDK chứng khoán.
Dưới đây là những gì tôi có cho đến nay, rất đơn giản:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setValidating(false);
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(file);
và đây là ngoại lệ Tôi nhận được trở lại:
java.lang.RuntimeException: java.io.IOException: Server returned HTTP response code: 503 for URL: http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
Vâng, điều này xảy ra là một lược đồ XHTML, nhưng isn này 't một' XHTML 'vấn đề, nó là một vấn đề XML. Chỉ cần chỉ ra rằng để mọi người không bị phân tâm. Và, trong trường hợp này, W3C về cơ bản là nói "không yêu cầu điều này, đó là một ý tưởng ngớ ngẩn", và tôi đồng ý. Nhưng, một lần nữa, nó là một chi tiết của vấn đề, không phải là gốc rễ của nó. Tôi không muốn hỏi nó TẤT CẢ.
Điều này có vẻ liên quan đến: http://stackoverflow.com/questions/155101/make-documentbuilder-parse-ignore-dtd-references –