XML को Excel में कन्वर्ट करें
XML फीड या सिस्टम एक्सपोर्ट को स्प्रेडशीट में बदलें। बार-बार आने वाला रिकॉर्ड एलिमेंट टूल खुद ढूंढ लेता है, और एट्रिब्यूट अपने अलग कॉलम बनते हैं।
फाइलें यहां छोड़ें
.xml, .rss, .xhtml, .txt · 300 MB तक
और सेटिंगकम सेटिंग
कैसे Excel में कन्वर्ट करें
- 1
XML फाइल डालें
फीड, कैटलॉग और सिस्टम एक्सपोर्ट, सब आपके डिवाइस पर ही पढ़े जाते हैं। RSS, सादा XML और XHTML चलते हैं।
- 2
मिले हुए रिकॉर्ड एलिमेंट की पुष्टि करें
सबसे ज्यादा दोहराया गया पाथ पंक्ति बनता है। अगर आपकी फाइल में रिकॉर्ड किसी अलग जगह नेस्टेड हैं, तो पाथ बदल दें।
- 3
कन्वर्ट करें और XLSX डाउनलोड करें
हर रिकॉर्ड की एक पंक्ति और फ्रीज किया हुआ हेडर मिलता है, फिल्टर और सॉर्ट करने के लिए तैयार।
पंक्ति किसे माना जाए, यह ढूंढना
XML में टेबल जैसी कोई चीज नहीं होती, इसलिए पहला असली सवाल यह है कि रिकॉर्ड कौन-सा एलिमेंट है। टूल डॉक्यूमेंट के ट्री को पढ़ता है और हर नोड के लिए एक ही नाम वाले चाइल्ड एलिमेंट गिनता है। सबसे ज्यादा दोहराव वाला पाथ जीतता है, और बराबरी होने पर गहरा पाथ चुना जाता है, क्योंकि गहरा पाथ ज्यादा सटीक होता है: rss.channel.item, rss.channel से ज्यादा काम का जवाब है। फीड और कैटलॉग पर यह तरीका लगभग हर बार सही बैठता है, पर यह सिर्फ अंदाजा है। इसीलिए पाथ छिपा हुआ फैसला नहीं, बल्कि बदला जा सकने वाला फील्ड है। 1C का एक्सपोर्ट, जिसमें Document और TableRow दोनों दोहराए जाते हैं, ठीक ऐसा मामला है जहां सिर्फ आप जानते हैं कि आपको कौन-सा चाहिए।
एट्रिब्यूट, नेमस्पेस और नेस्टिंग
एट्रिब्यूट में भी एलिमेंट जितना ही डेटा होता है, इसलिए id="7" @id नाम का कॉलम बनता है और नेस्टेड currency="EUR" sum.@currency बनता है। आप प्रीफिक्स बदल सकते हैं या एट्रिब्यूट पूरी तरह छोड़ सकते हैं। नेमस्पेस प्रीफिक्स डिफॉल्ट रूप से हटा दिए जाते हैं, ताकि dc:title, title नाम के कॉलम में आए। शीट खोलने वाले लगभग सभी लोग यही चाहते हैं; यह सेटिंग बंद करें, तो प्रीफिक्स वाला नाम बचा रहता है। नेस्टेड एलिमेंट आपकी तय की गई गहराई तक डॉट वाले नामों के कॉलम बनते हैं, और उससे गहरा हिस्सा शीट को चौड़ा करने की जगह छोटे JSON के रूप में सेव होता है।
एंटिटी की घोषणाएं फैलाई नहीं जातीं, मना कर दी जाती हैं
XML फाइल DOCTYPE के अंदर अपनी एंटिटी घोषित कर सकती है। इन्हें फैलाकर ही billion laughs हमला मेमोरी खत्म करता है और XXE सर्वर से फाइलें पढ़ लेता है। अनजान एंटिटी को सुरक्षित तरीके से फैलाने का कोई रास्ता नहीं है, और स्प्रेडशीट में कन्वर्ट करने के लिए इसकी कोई अच्छी वजह भी नहीं। इसलिए ENTITY घोषणा वाला डॉक्यूमेंट पार्सिंग शुरू होने से पहले ही मना कर दिया जाता है, और संदेश में साफ लिखा होता है कि क्यों। DOCTYPE हटाएं, तो बाकी फाइल सामान्य रूप से कन्वर्ट हो जाती है।
पार्सिंग यहीं होती है, सर्वर पर नहीं
डिकोडिंग, जांच और कन्वर्जन, सब इसी ब्राउजर टैब में इसी काम के लिए लिखे गए पार्सर से होते हैं। कुछ भी अपलोड नहीं होता, और बाहरी एंटिटी न फैलाने का मतलब है कि फाइल का कोई हिस्सा कहीं और से संपर्क भी नहीं कर सकता।
अक्सर पूछे जाने वाले सवाल
दोहराया जाने वाला एलिमेंट कैसे चुना जाता है?
पूरे डॉक्यूमेंट में एक ही नाम वाले सिबलिंग एलिमेंट गिनकर और सबसे ज्यादा दोहराव वाला पाथ लेकर; दो पाथ बराबर हों, तो गहरा पाथ चुना जाता है। चुना गया पाथ दिखता है, और आप उसकी जगह कोई भी पाथ लिख सकते हैं।
एट्रिब्यूट कहां जाते हैं?
अपने अलग कॉलम में, डिफॉल्ट रूप से @ प्रीफिक्स के साथ: रिकॉर्ड के एट्रिब्यूट के लिए @id, और नेस्टेड एलिमेंट के एट्रिब्यूट के लिए sum.@currency। आप प्रीफिक्स बदल सकते हैं या एट्रिब्यूट पूरी तरह छोड़ सकते हैं।
नेस्टेड एलिमेंट का क्या होता है?
वे आपकी तय की गई गहराई तक order.customer.city जैसे डॉट वाले नामों के कॉलम बनते हैं। उससे गहरा हिस्सा और कॉलम बनाने की जगह एक ही सेल में छोटी JSON स्ट्रिंग के रूप में लिखा जाता है।
नेमस्पेस का क्या होता है?
dc: जैसे प्रीफिक्स डिफॉल्ट रूप से हटा दिए जाते हैं, इसलिए dc:title, title नाम का कॉलम बनता है। अगर आपकी फाइल में दो नेमस्पेस सच में एक ही लोकल नाम इस्तेमाल करते हैं, तो उन्हें अलग रखने के लिए प्रीफिक्स हटाना बंद करें।
क्या RSS चलता है?
हां, और पहचान इसी मामले में सबसे अच्छा काम करती है: rss.channel.item खुद मिल जाता है, फीड की हर एंट्री एक पंक्ति बनती है, और title, link और pubDate कॉलम बनते हैं।
पंक्तियों की सीमा क्या है?
10,48,576 पंक्तियां, यह खुद XLSX फॉर्मेट की सीमा है। इससे बड़ी फीड मना कर दी जाती है और CSV कन्वर्टर का लिंक दिया जाता है, जिसमें ऐसी कोई सीमा नहीं है।
क्या मेरी फाइल अपलोड होती है?
नहीं। फाइल आपके ब्राउजर के अंदर ही डिकोड, पार्स और कन्वर्ट होती है। घोषित एंटिटी फैलाने की जगह सीधे मना कर दी जाती हैं, इसलिए डॉक्यूमेंट का कोई हिस्सा नेटवर्क रिक्वेस्ट भी शुरू नहीं कर सकता।