Bir XML dosyasının sözdizimini nasıl kontrol edeceğimi anlamaya çalışıyorum, tüm etiketlerin kapalı olduğundan emin olun, rastgele karakterler bulunmuyor, vb ... Bu noktada önem verdiğim her şey Dosyada bozuk bir XML olmadığından emin olun.Java'da XML sözdizimi doğrulaması
Bunları gibi bazı SO mesajların bakarak oldum ...
... ama bende olmayan fark XML dosyasının yapısını doğrulamak istiyorum; Ben bir XML Şeması (XSD) karşı doğrulamak istemiyorum ... Sadece XML sözdizimini kontrol etmek ve doğru olup olmadığını belirlemek istiyorum.
aşağıdakiDocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setValidating(false);
factory.setNamespaceAware(true);
DocumentBuilder builder = factory.newDocumentBuilder();
builder.setErrorHandler(new SimpleErrorHandler());
// the "parse" method also validates XML, will throw an exception if misformatted
Document document = builder.parse(new InputSource("document.xml"));
Yukarıdaki kodda belirtilen SimpleErrorHandler
sınıf olarak:
public class SimpleErrorHandler implements ErrorHandler {
public void warning(SAXParseException e) throws SAXException {
System.out.println(e.getMessage());
}
public void error(SAXParseException e) throws SAXException {
System.out.println(e.getMessage());
}
public void fatalError(SAXParseException e) throws SAXException {
System.out.println(e.getMessage());
}
}
Bu bir XML belge aşağıdaki kodu kullanarak iyi biçimli ise
Bu, XML dosyasının ** sözdizimini ** kontrol edecek mi? Burada bir XML şeması kullanmak istemiyorum ... – Hristo
Evet, belgenin XML spesifikasyonları tarafından belirlenen "iyi biçimlilik" kurallarına uyduğunu kontrol edecek - http://www.w3.org/TR/xML/# sek-iyi biçimli.Bu, tüm elemanların kapalı, iç içe doğru, vb. Olması gerektiği anlamına gelir. Aslında, teknik özellik her zaman bir DTD kullanamayacağınız için iyi biçimlenmişliği tanımlar. –
bunu ayrıştırır ve bu nedenle sözdizimini kontrol eder, aksi halde ayrıştırılamıyordu ... bu belgede ne yapıyorsun ki, bu – DaVinci