2009-03-28 9 views
5

का उपयोग कर एक्सएमएल पढ़ना और लिखना एक्सएमएल पढ़ने के लिए, जावा 1.5 में बनाया गया SAX और DOM है। आप जेएक्सपी का उपयोग कर सकते हैं और पार्सर उपलब्ध होने के बारे में जानकारी जानने की आवश्यकता नहीं है ... तो, एक से के लिए कुछ निर्धारित एपीआई क्या हैं जावा 1.5 और इससे पहले के XML दस्तावेज़?जस्ट जावा 1.5 (या पहले)

  • मैं किसी तृतीय पक्ष द्विआधारी
  • मैं एक सूर्य वीएम या आईबीएम वीएम आदि मान लेते हैं और कुछ विशेष वर्ग
  • का उपयोग नहीं करना चाहते हैं का उपयोग नहीं करना चाहते हैं इसका मतलब है जो कुछ दस्तावेज़ लिखने की है , मैं एक पूरक तरीके से पढ़ना चाहूंगा।
  • प्रदर्शन और बड़े एक्सएमएल फाइल के लिए उपयुक्तता,

आदर्श रूप में विशेष रूप से महत्वपूर्ण नहीं है बिना किसी परिवर्तन के पढ़ने और लिखने सिर्फ कोड की कुछ लाइनें है।

+0

क्या आपको एक्सएमएल स्कीमा के नियंत्रण में होना चाहिए, या जो कुछ भी लिखा गया है, जब तक कि यह एक्सएमएल है और उसी प्रक्रिया के माध्यम से पीछे हटने योग्य है? – TofuBeer

+0

हां, मुझे स्कीमा की परवाह है। क्या आप एक्सएमएल-सीरियलाइजेशन के बारे में सोच रहे हैं? –

उत्तर

5

जावा 1.4 javax.xml.transform के साथ आता है, जो ले जा सकते हैं एक DOMSource, SAXSource, आदि:

// print document 
InputSource inputSource = new InputSource(stream); 
Source saxSource = new SAXSource(inputSource); 
Result result = new StreamResult(System.out); 
TransformerFactory transformerFactory = TransformerFactory 
    .newInstance(); 
Transformer transformer = transformerFactory 
    .newTransformer(); 
transformer.transform(saxSource, result); 

आप J2SE 1.3 एपीआई के लिए वापस जाना चाहते हैं, आप कर रहे हैं अपने दम पर काफी (हालांकि अगर आप उस युग के जे 2 ईई एपीआई पर हैं, कुछ ऐसा हो सकता है - मुझे याद नहीं है)।

+0

इस प्रश्न का सही जवाब मैंने लिखा था। लेकिन हिंदुस्तान में सवाल भ्रामक है। मैं नई सामग्री का एक गुच्छा बनाना चाहता हूं; मुझे अनिश्चितता है कि ट्रांसफॉर्मर का उपयोग करके कोई नई सामग्री कैसे बनाता है ... –

+0

मैं इनपुट डेटा और उस आउटपुट के उदाहरण के साथ एक नया प्रश्न शुरू करूंगा जिसे आप इससे उत्पन्न करना चाहते हैं। – McDowell

+0

इसके अलावा, ट्रांसफॉर्मर का उपयोग कैसे करें: http://java.sun.com/webservices/reference/tutorials/jaxp/html/xslt.html हालांकि, यह स्पष्ट नहीं है कि आपको यह सब चाहिए या नहीं। – McDowell

0

कोई आधिकारिक "निर्धारित" एपीआई नहीं है, लेकिन हम निम्न तकनीक के साथ बहुत खुश किया गया है:

एक वर्ग XmlWriter है कि एक चरित्र Writer साथ initializes और startElement(String name), writeAttribute(String name, String value), और writeCData(String text) तरह के तरीकों है बनाएँ।

फिर स्पष्ट तरीके से कार्यान्वित करें। आंतरिक तरीके एसजीएमएल चरित्र से बचने जैसी चीजें कर सकते हैं; उपयोगिता के लिए अपाचे कॉमन्स देखें जो मदद करेगा।

यदि आप आउटपुट को अधिक मानव-पठनीय होने की इच्छा रखते हैं, तो आप ट्रैक तत्व घोंसले स्तर जैसी चीजें कर सकते हैं और न्यूलाइन और टैब या रिक्त स्थान जोड़ सकते हैं। वैकल्पिक भी चीजों को ट्रैक कर रहा है जैसे किसी तत्व को खोला जा सकता है और बिना किसी चीज़ के बंद कर दिया जा सकता है जिसे <element/> के रूप में संक्षिप्त किया जा सकता है।

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