Trong file XML của tôi, tôi có một số đơn vị như ’
Sử dụng JDOM để phân tích tập tin XML với DTD bên ngoài mà chưa được khai báo trong file XML
Vì vậy, tôi đã tạo ra một thẻ DTD cho tài liệu XML của tôi để xác định các thực thể. Dưới đây là mã Java được sử dụng để đọc tệp XML.
SAXBuilder builder = new SAXBuilder();
URL url = new URL("http://127.0.0.1:8080/sample/subject.xml");
InputStream stream = url.openStream();
org.jdom.Document document = builder.build(stream);
Element root = document.getRootElement();
Element name = root.getChild("name");
result = name.getText();
System.err.println(result);
Làm cách nào để thay đổi mã Java để truy xuất DTD qua HTTP để cho phép phân tích cú pháp tài liệu XML của tôi không bị lỗi?
Ví dụ đơn giản về tài liệu xml.
<main>
<name>hello ‘ world ’ foo & bar </name>
</main>
Đối tượng phải được khai báo trước khi chúng có thể được sử dụng. Nếu bạn đang sử dụng các tham chiếu thực thể chưa được khai báo (nằm trong tệp hoặc có tham chiếu đến một DTD bên ngoài), bạn có tệp XML không hợp lệ. –
Thật vậy. Vấn đề của tôi là tiêm đường dẫn đến DTD của tôi vào xml khi chạy, vì dtd không được tham chiếu bên trong tài liệu xml. DTD nằm trên một máy chủ từ xa có thể truy cập thông qua http. –