Tôi có một tập tin XML rằng khoảng trông như thế này:tập tin XML với ä
<customer>
<name>Müller</name>
</customer>
tôi phân tích các tập tin sử dụng đoạn mã sau:
File xmlFile = new File("file.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(xmlFile)
Và nhận được lỗi mà đơn vị ü
được tham chiếu nhưng không được khai báo. Những gì tôi muốn là mục nhập đang được đọc nhưng không được phân tích cú pháp theo bất kỳ cách nào, tôi muốn nhận được giá trị như được viết trong tệp.
Tôi làm như thế nào?
Tôi gặp vấn đề tương tự trong một vài tuần. Nhưng tôi không tìm thấy một giải pháp tốt. Tôi đã sử dụng phép chuyển đổi xslt để chuyển đổi thực thể html thành thực thể xml và sau đó phân tích cú pháp tệp đã sửa đổi. – Jens
XML có tham chiếu đến một DTD xác định thực thể đó hay bản thân XML có lỗi không? –
Lý do tại sao bạn gặp phải lỗi là vì 'ü 'không phải là tham chiếu thực thể XML tiêu chuẩn. Trong XML, chỉ có [năm tham chiếu thực thể chuẩn] (http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Predefined_entities_in_XML): '&', '"', ''', '<', '& gt'. Những thứ như 'ü 'là các tham chiếu thực thể HTML, nhưng chúng không được định nghĩa trong XML. – Jesper