Dosya olarak XML ve bir XSD dosyası var ve XML'i XSD ile doğrulamam gerekiyor. Bunu nasıl yapabilirim?xsd yerine xml doğrulaması gerçekleştiriliyor
5
A
cevap
1
Bunun için javax.xml.validation API'leri kullanabilirsiniz:
String xml = "<root/>"; // XML as String
File xsd = new File("schema.xsd"); // XSD as File
SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = sf.newSchema(xsd);
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setSchema(schema);
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
xr.parse(new InputSource(new StringReader(xml)));
9
Bunu yapmak için javax.xml.validation API kullanabilirsiniz.
public boolean validate(String inputXml, String schemaLocation)
throws SAXException, IOException {
// build the schema
SchemaFactory factory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");
File schemaFile = new File(schemaLocation);
Schema schema = factory.newSchema(schemaFile);
Validator validator = schema.newValidator();
// create a source from a string
Source source = new StreamSource(new StringReader(inputXml));
// check input
boolean isValid = true;
try {
validator.validate(source);
}
catch (SAXException e) {
System.err.println("Not valid");
isValid = false;
}
return isValid;
}
+0
Mükemmel Xrces JAXB 2.x gibi mevcut vardır - teşekkür ederim – thonnor
İlgili konular
- 1. XSD ile XML doğrulaması, doğrulama kurallarının bir kısmı WSDL
- 2. XML XSD şeması şeması
- 3. Java'da XML sözdizimi doğrulaması
- 4. Java web hizmeti, xsd date dateTime yerine
- 5. XSD
- 6. Çoklu XSD Dosyalarını Eclipse XML Kataloğa Aktarma
- 7. Linux için XSD aracına yönelik XML
- 8. XML (.xsd) şemaya göre feed onayı
- 9. XML belgesinde XSD ile öznitelik tekliğini doğrulayın
- 10. XSD
- 11. ASMX webcoder XML yerine
- 12. XSD
- 13. XSD ile tanıdık bir XSD tanımı
- 14. Otomatik XSD doğrulama
- 15. xsd doğrulama şematron kullanarak
- 16. XSD Görselleştirme?
- 17. XSD şeması
- 18. XSD
- 19. XSD şeması
- 20. Bir performSelector durdurma: gerçekleştiriliyor
- 21. SYSTEMTIME üzerinde Aritmetik gerçekleştiriliyor
- 22. İşlem gerçekleştiriliyor mu?
- 23. Sürücü PDF'leri revizyonu gerçekleştiriliyor.
- 24. XSD - Bir XSD dosyası aşağıdan gibi var
- 25. Visual Studio'da XML dosyalarını XSD şemasına otomatik olarak ekle?
- 26. Jmeter XSD doğrulama ilk hatasında durduruldu
- 27. Neden ASP.NET MVC doğrulaması yerine fluentvalidation kullanılır?
- 28. XSD'ler için bir XSD var mı, bir Meta-XSD?
- 29. Java XML Şema doğrulaması: önek bağlı değil
- 30. java'da XML imza doğrulaması başarısız oluyor
Ya u dizesinin yerine bir XML dosyası ihtiyaç ve XSD ile XML doğrulamak yerine, araçlar çok sayıda benim kullanımlar için vb –