वर्तमान पर किसी तत्व स्ट्रिंग ऑब्जेक्ट (युक्त एक्सएमएल) 'को बदलने' के लिए, मैं एक स्ट्रिंग वस्तु है कि XML तत्व शामिल होते हैं:कैसे एक मौजूदा JSP पेज
String carsInGarage = garage.getCars();
मैं अब के रूप में इस स्ट्रिंग पास करना चाहते हैं एक इनपुट/स्ट्रीम स्रोत (या किसी प्रकार का स्रोत), लेकिन मुझे यह सुनिश्चित नहीं है कि कौन सा चयन करना है और इसे कैसे कार्यान्वित करना है।
अधिकांश समाधान मैंने पैकेज आयात करने पर देखा है: javax.xml.transform और एक XML फ़ाइल (stylerXML.xml) और आउटपुट को HTML फ़ाइल (outputFile.html) पर स्वीकार करें (नीचे कोड देखें)।
try
{
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer(new StreamSource("styler.xsl"));
transformer.transform(new StreamSource("stylerXML.xml"), new StreamResult(new FileOutputStream("outputFile.html")));
}
catch (Exception e)
{
e.printStackTrace();
}
मैं स्ट्रिंग ऑब्जेक्ट और एक तत्व के लिए निर्गम (XSL का प्रयोग करके) एक मौजूदा JSP पेज के भीतर स्वीकार करना चाहते हैं। मैं बस यह नहीं जानता कि इसे कैसे कार्यान्वित किया जाए, यहां तक कि ऊपर दिए गए कोड को भी देखा।
क्या कोई सलाह दे सकता है/सहायता कर सकता है। मैंने समाधान के लिए उच्च और निम्न खोज की है, लेकिन मैं कुछ भी बाहर खींच नहीं सकता।
try {
StringReader reader = new StringReader("<xml>blabla</xml>");
StringWriter writer = new StringWriter();
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer(
new javax.xml.transform.stream.StreamSource("styler.xsl"));
transformer.transform(
new javax.xml.transform.stream.StreamSource(reader),
new javax.xml.transform.stream.StreamResult(writer));
String result = writer.toString();
} catch (Exception e) {
e.printStackTrace();
}
हाय ब्रूनो, उस उत्कृष्ट उत्तर के लिए धन्यवाद। यह ठीक से संकलित कर रहा है :) हालांकि, मैं अभी भी स्क्रीन पर इसे प्रिंट करने में असमर्थ हूं। मैं वर्तमान में कोशिश कर रहा हूं: out.println (लेखक); लेकिन यह असफल रहा है। – Lycana
शायद ट्रांसफॉर्म के साथ एक त्रुटि हुई ... यह वास्तव में कैसे असफल रहा है? –
यह विफल रहता है क्योंकि ब्राउज़र पर कुछ भी मुद्रित नहीं होता है। मेरे प्रयास ब्लॉक के नीचे मेरे पास है: स्ट्रिंग परिणाम = writer.toString(); out.print ("