java - Converting Json to XML Generated invalid XML -


कृपया निम्नलिखित पर एक नज़र डालें।

  आयात करें java.io.buffferedReader; आयात करें java.io.File; Import java.io.filewiter; आयात java.io.IOException; आयात करें java.io.InputStreamReader; आयात org.json.JSONArray; आयात org.json.JSONException; आयात org.json.JSONML; आयात org.json.JSONTokener; आयात org.json.XML; आयात करें com.amazonaws.auth.ClasspathPropertiesFileCredentialsProvider; आयात com.amazonaws.regions.Region; आयात करें com.amazonaws.regions.regions; आयात करें com.amazonaws.services.s3.AmazonS3Client; आयात करें com.amazonaws.services.s3.model.GetObjectRequest; आयात com.amazonaws.services.s3.model.S3Object; सार्वजनिक वर्ग जेसनटीओएक्सएमएल {निजी अमेज़ॅनएस 3 क्लाइंट एस 3; सार्वजनिक JsonToXML (स्ट्रिंग inputBucket, स्ट्रिंग inputfile) IOException, JSONException {// S3 S3 = नए AmazonS3Client के लिए कनेक्शन (नई ClasspathPropertiesFileCredentialsProvider ()) फेंकता है; क्षेत्र हमें वेस्ट 2 = क्षेत्र। टैग (क्षेत्र। US_EAST_1); s3.setRegion (usWest2); // ऑब्जेक्ट सिस्टम को डाउनलोड करना। Out.println ("ऑब्जेक्ट डाउनलोड करना"); S3Object s3Object = s3.getObject (नया GetObjectRequest (इनपुटबकेट, इनपुटफ़ाइल)); System.out.println ("सामग्री-प्रकार:" + s3Object.getObjectMetadata ()। GetContentType ()); // JSON फ़ाइल पढ़ें BufferedReader रीडर = नया BufferedReader (नया InputStreamReader (s3Object.getObjectContent ())); स्ट्रिंगबफ़र स्ट्रबफर = नया स्ट्रिंगबफर (""); Int i = 0; जबकि (सच) {स्ट्रिंग रेखा = रीडर। रीडलाइन (); अगर (लाइन == शून्य) तोड़; System.out.println ("रनिंग:" + i); strBuffer.append (लाइन); i ++; } जेएसटोकनर जे टोकनर = नया जेएसटोकनर (स्ट्रबफ़र.स्टोस्टिंग ()); JSONArray jsonArray = नया JSONArray (jTokener); // XML स्ट्रिंग xml = XML.toString (jsonArray) में कन्वर्ट; फ़ाइल एफ = नया फ़ाइल ("XML.xml"); फ़्लेमराइटर एफडब्ल्यू = नया फ़्वाइटर (एफ); fw.write (xml); }}   

इस तरह से जेसन फाइलें

  [{"_type": "ArticleItem", "body") की तरह दिखती हैं: "कौन हस्ताक्षर कर रहा है", "स्रोत": "money.cnn.com", "last_crawl_date": "2014-01-14", "url": "http: //money.cnn.com/"}, {"_type": "ArticleItem" , "बॉडी": "ग्रामवेवल्स", "शीर्षक": "GMreveals625-horsepowerCorvetteZ06-Jan.13", "स्रोत": "money.cnn.com", "last_crawl_date": "2014-01-14", "url" : "Http: //money.cnn.com"}]   

यह कोड किसी भी पाठ के बिना अमान्य XML या फ़ाइल उत्पन्न करता है। अंतिम & lt; & gt; के बाद अमान्य साधन, यह अभी भी कुछ पाठ उत्पन्न करता है, इसलिए पूरी फ़ाइल अमान्य है यहाँ क्या गलत है? कृपया

UPDATE

jtahlborn के उत्तर के अनुसार मैं निम्नलिखित आउटपुट के साथ एक XML फ़ाइल उत्पन्न करने में कामयाब रहा हूँ।

 <कोड> & lt; सरणी & gt; & lt; body & gt; कौन & amp; सका s साइन इन करें & lt; / body & gt; & lt; _type & gt; ArticleItem & lt; / _ प्रकार & gt; & lt; स्रोत & gt; money.cnn.com & lt; / स्रोत & gt; & LT; last_crawl_date & gt; 2014-01-14 & lt; / last_crawl_date & gt; & lt; यूआरएल & gt; http: //money.cnn.com/</url></array><array><body>GMreveals</body> & LT; _type & gt; ArticleItem & lt; / _ प्रकार & gt; & lt; title & gt; GMreveals625-horsepowerCorvetteZ06-Jan.13 & lt; / title & gt; & lt; स्रोत & gt; money.cnn.com & lt; / स्रोत & gt; & lt; last_crawl_date & gt; 2014-01-14 & lt; / last_crawl_date & gt; & Lt; url & gt; http: //money.cnn.com</url></array>   

लेकिन XML सत्यापनकर्ता कहते हैं:

  XML पार्सिंग त्रुटि: दस्तावेज़ तत्व के बाद जंक स्थान: http://www.w3schools.com/xml/xml_validator .asp पंक्ति संख्या 1, कॉलम 181:    

आपको फ्लश की आवश्यकता होती है ( )

समस्या यह है कि आपके पास 2 है आपके एक्सएमएल परिणाम (2 "सरणी" तत्व) में "शीर्ष-स्तर" तत्व XML में केवल एक शीर्ष-स्तरीय तत्व हो सकता है।

अद्यतन करें:

json को xml में बदलने के लिए इसे आज़माएं:

  स्ट्रिंग xml = XML ToString (jsonArray, "डॉक्टर");    

Comments

Popular posts from this blog

c - Mpirun hangs when mpi send and recieve is put in a loop -

python - Apply coupon to a customer's subscription based on non-stripe related actions on the site -

java - Unable to get JDBC connection in Spring application to MySQL -