मैं निम्नलिखित जावा कोड है:एक रिश्तेदार पथ पर एक DTD स्कीमा के साथ एक XML फ़ाइल पार्स
DocumentBuilder db=DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc=db.parse(new File("/opt/myfile"));
और /opt/myfile
की तरह कुछ में शामिल हैं:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE archive SYSTEM "../../schema/xml/schema.dtd"> ...
मैं निम्नलिखित त्रुटि मिलती है:
java.io.FileNotFoundException: /../schema/xml/schema.dtd (No such file or directory)
यह एक बड़ा जावा ढांचा है जो कहीं और उत्पादित एक एक्सएमएल फाइल का उपभोग करता है। मुझे लगता है कि सापेक्ष पथ समस्या है। मुझे नहीं लगता कि जेवीएम शुरू होने से पहले सीडब्ल्यूडी को बदलने के लिए स्वीकार्य होगा (पथ एक कॉन्फ़िगरेशन फ़ाइल से आता है जो JVM द्वारा स्वयं पढ़ा जाता है) और मुझे JVM चल रहा है, जबकि मुझे cwd को बदलने का कोई तरीका नहीं मिला है। मैं इस XML फ़ाइल को उपयुक्त डीटीडी के साथ कैसे पार्स करूं?
या वह एक कैटलॉग आधारित रिज़ॉल्वर का उपयोग कर सकता है। –
रिज़ॉल्वर उदाहरण का उपयोग करने के लिए तैयार: [org.hibernate.util.DTDEntityResolver] (http://stackoverflow.com/questions/10886453/hibernate-issue-with-using-http-www-hibernate-org-dtd) – Vadzim