7
Tôi đang sử dụng StAX và tôi muốn thêm vị trí lược đồ vào tệp xml của mình. cách tốt nhất để đạt được điều này là gì?Cách thêm vị trí lược đồ với STAX
Tôi đang sử dụng StAX và tôi muốn thêm vị trí lược đồ vào tệp xml của mình. cách tốt nhất để đạt được điều này là gì?Cách thêm vị trí lược đồ với STAX
Nếu bạn sử dụng XMLStreamWriter
, bạn chỉ có thể sử dụng writeNamespace()
và writeAttribute()
(hoặc chỉ writeAttribute()
).
XMLStreamWriter xmlStreamWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(System.out);
xmlStreamWriter.writeStartDocument();
xmlStreamWriter.writeStartElement("YourRootElement");
xmlStreamWriter.writeNamespace("xsi", "http://www.w3.org/2000/10/XMLSchema-instance");
xmlStreamWriter.writeAttribute("http://www.w3.org/2000/10/XMLSchema-instance", "noNamespaceSchemaLocation",
"path_to_your.xsd");
xmlStreamWriter.writeEndElement();
xmlStreamWriter.flush();
Output:
<?xml version="1.0" ?>
<YourRootElement xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:noNamespaceSchemaLocation="path_to_your.xsd"></YourRootElement>
Đối XMLEventWriter
, bạn sẽ có thể để làm điều đó bằng cách add()
ing một createAttribute()
.
Trân trọng, Tối đa
Xin chào Max, tôi đã mong đợi giải pháp này. Cảm ơn bạn đã làm rõ. – Lars
Điều này làm việc cho tôi, nhưng XML XML của tôi không hoàn toàn xác nhận. Để khắc phục các vấn đề xác nhận của tôi, tôi cần xác định một cá thể lược đồ mới hơn là: 'http: // www.w3.org/2001/XMLSchema-instance'. – Muel