7
ile şema konumu nasıl eklenir StAX kullanıyorum ve xml dosyasına bir şema konumu eklemek istiyorum. Bunu başarmanın en iyi yolu nedir?StAX
ile şema konumu nasıl eklenir StAX kullanıyorum ve xml dosyasına bir şema konumu eklemek istiyorum. Bunu başarmanın en iyi yolu nedir?StAX
Eğer XMLStreamWriter
kullanıyorsanız, sadece writeNamespace()
ve writeAttribute()
(ya da sadece writeAttribute()
) kullanabilir.
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();
Çıktı:
<?xml version="1.0" ?>
<YourRootElement xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:noNamespaceSchemaLocation="path_to_your.xsd"></YourRootElement>
XMLEventWriter
, bir createAttribute()
ing add()
bunu yapmak mümkün olmalıdır.
Selamlar, Max
Merhaba Max, zaten bu çözümü bekliyordu. Açıklama için teşekkürler. – Lars
Bu benim için çalıştı, ancak XML'im XML tam olarak doğrulanmadı. Doğrulama sorunlarımı düzeltmek için daha yeni bir şema örneğini şu şekilde belirtmem gerekiyor: 'http: // www.w3.org/2001/XMLSchema-instance'. – Muel