2013-03-05 9 views
8

स्ट्रिंग को जेएमओएम दस्तावेज़ में XML प्रारूप में सामग्री को परिवर्तित करने के तरीके को कैसे परिवर्तित करें।जेएमओएम दस्तावेज़ में XML प्रारूप में स्ट्रिंग रखने वाली स्ट्रिंग को कैसे परिवर्तित करें

मैं नीचे दिए गए कोड के साथ कोशिश कर रहा हूँ:

String docString = txtEditor.getDocumentProvider().getDocument(
txtEditor.getEditorInput()).get(); 

SAXBuilder sb= new SAXBuilder(); 

doc = sb.build(new StringReader(docString)); 

किसी भी एक समस्या उपरोक्त समस्याओं का समाधान करने के लिए मेरी मदद कर सकते। अग्रिम धन्यवाद !!

उत्तर

11

इस तरह आप आम तौर पर दस्तावेज़ को

try { 
    SAXBuilder builder = new SAXBuilder(); 
    Document anotherDocument = builder.build(new File("/some/directory/sample.xml")); 
} catch(JDOMException e) { 
    e.printStackTrace(); 
} catch(NullPointerException e) { 
    e.printStackTrace(); 
} 

इस से JDOM IBM Reference

मामले में लिया जाता है आप स्ट्रिंग है आप InputStream करने के लिए इसे बदलने और उसके बाद पारित कर सकते हैं एक xml पार्स है यह

String exampleXML = "<your-xml-string>"; 
InputStream stream = new ByteArrayInputStream(exampleXML.getBytes("UTF-8")); 
Document anotherDocument = builder.build(stream); 

विभिन्न तर्कों के लिए builder.build() समर्थन करता है आप api docs

से जा सकते हैं
+0

आपकी त्वरित प्रतिक्रिया के लिए धन्यवाद। आपके द्वारा चिपकाया गया कोड विशेष पथ पर उपलब्ध फ़ाइल का उपयोग करके एक नया दस्तावेज़ बनाने के लिए ठीक काम करता है। लेकिन मेरे मामले में, मुझे एक स्ट्रिंग बनाने/परिवर्तित करने की आवश्यकता है जिसमें दस्तावेज़ में XML प्रारूप में सामग्री है। –

+0

@akhil_gupta मैंने आपकी आवश्यकता – AurA

+0

के साथ उत्तर अपडेट किया है हां, कोड मौजूदा .xml फ़ाइल से नया दस्तावेज़ बनाने के लिए ठीक काम करता है। लेकिन यहां मेरे पास कोई एक्सएमएल फ़ाइल नहीं है। मुझे यह स्ट्रिंग मिल रही है (जिसमें xml प्रारूप में सामग्री है) कहीं और से। जैसा कि आप इसे मेरा कोड देख सकते हैं: स्ट्रिंग docString = txtEditor.getDocumentProvider()। GetDocument ( txtEditor.getEditorInput())।(); –

6

यह एक सामान्य प्रश्न है कि एक जवाब वास्तविक पूछे जाने वाले प्रश्न की तुलना में अधिक सुलभ है shold है: How do I build a document from a String?

तो, मैं issue #111

बनाया है क्या इसके लायक है के लिए, मैं पहले से इस स्थिति के लिए त्रुटि संदेश में सुधार हुआ है (the previous issue #63 देख सकते हैं और अब आप एक त्रुटि है कि कहते हैं होना चाहिए:

MalformedURLException mx = new MalformedURLException(
    "SAXBuilder.build(String) expects the String to be " + 
    "a systemID, but in this instance it appears to be " + 
    "actual XML data."); 

निष्कर्ष है कि आप का उपयोग करना चाहिए है:

Document parseddoc = new SaxBuilder().build(new StringReader(myxmlstring)); 

rolfl

+0

असल में, ऐसा लगता है कि मेरे द्वारा चिपकाया गया कोड भी ठीक काम कर रहा है। मेरे कोड में कहीं और समस्या थी। लेकिन इसमें देखने के लिए धन्यवाद। –

संबंधित मुद्दे