2010-05-20 13 views
26

मैं उत्सुक हूं, मैं बहुत शक्तिशाली वेबसाइट/वेब ऐप्स विकसित कर रहा हूं, और मैंने एक्सएमएल कभी नहीं सीखा है, यहां तक ​​कि गंध भी मैंने कभी भी वास्तव में आवश्यकता महसूस नहीं की है। यह कर्ल या तैयार वक्तव्य की तरह नहीं है, जहां यह जानने से पहले कि उन्होंने क्या किया और उन्होंने कैसे काम किया, मुझे लगा कि 'ऐसा करने का एक आसान तरीका होना चाहिए!' या 'इसके लिए कुछ बनाया गया है!'।एक्सएमएल के लिए अच्छा क्या है और मुझे इसका उपयोग कब करना चाहिए?

वर्तमान में मैं माईएसक्यूएल और जेएसओएन के साथ काम करता हूं और मुझे यह नहीं लगता कि 'मुझे इसे सीखने की ज़रूरत है' (एक्सएमएल), यह गलत होना चाहिए!

मैं वास्तव में एक्सएमएल के लिए कुछ आकर्षक तर्क सुनना चाहता हूं, और जेएसओएन या माईएसक्यूएल (या वेब देव के कुछ अन्य पहलू) से बेहतर शर्त लगा सकता हूं और जब मुझे इसका उपयोग करना चाहिए!

+0

मैं अपने प्रश्न से जावास्क्रिप्ट टैग निकाल दिया गया, अच्छा सवाल मुझे यह भी पता करने के लिए इस – Starx

+0

जरूरत [AJAX या ajaj?] (Http://izlooite.blogspot.com/2010 /05/ajax-or-ajax-xml-vs-json.html) –

उत्तर

10

जेएसओएन बहुत हल्का वजन है जो इसे सामने के अंत तक डेटा पास करने के लिए बेहतर अनुकूल बनाता है।

एक्सएमएल में वर्णनात्मक टैग हैं जो (मुझे व्यक्तिगत रूप से मिलते हैं) कच्चे प्रारूप में पढ़ने में आसान बनाते हैं। अगर मैं किसी भी प्रकार की सेटिंग्स फ़ाइल चाहता हूं जो मेरे प्रोग्राम से लोड हो, तो मैं इसे एक एक्सएमएल फ़ाइल प्रारूप में रखूंगा।

यह मेरा विचार है कि वैसे भी, लेकिन मुझे यकीन है कि वहाँ एक दूसरे के ऊपर को चुनने के लिए और अधिक में गहराई से कारण हैं हूँ। जिनमें से मुझे सूची में पर्याप्त अनुभव नहीं हुआ है :)

हालांकि मुझे कुछ ऐसी साइटें मिलीं जो कुछ अच्छे अंक बनाती हैं।

http://ajaxian.com/archives/json-vs-xml-the-debate (कुछ टिप्पणियों में अच्छा अंक)

http://webignition.net/articles/xml-vs-yaml-vs-json-a-study-to-find-answers/

+2

आपका क्या मतलब है कि 'xml arrays का समर्थन नहीं करता है?!?!? –

+0

मेरी गलती, संपादित। – 4imble

+0

धन्यवाद कोहन, कुछ दिलचस्प लेख – Haroldo

-6

PHP के साथ, अधिकांश गतिशील भाषाओं के साथ, यह इंटरऑपरेबिलिटी उद्देश्यों के लिए सबसे अच्छा है। एक्सएमएल जावा से फिर से लिखने के लिए तेज़ है, लेकिन PHP एक्सएमएल की तुलना में फिर से लिखने के लिए तेज़ है।

+7

एक्सएमएल डेटा संरचना, जावा और PHP प्रोग्रामिंग भाषाओं का एक माध्यम है, इसकी तुलना नहीं की जा सकती है। – Quentin

2

मैं मुख्य रूप से कॉन्फ़िगरेशन फ़ाइलों या परिवहन प्रारूप के रूप में एक्सएमएल का उपयोग करता हूं, हालांकि यदि आप जेएसओएन या वाईएएमएल से परिचित हैं, तो वे आपके लिए उतने ही अच्छे हो सकते हैं, इसलिए XML सीखने की कोई वास्तविक आवश्यकता नहीं है।

11

एक्सएमएल विषम वृक्ष संरचनाओं को संग्रहीत करने के लिए उपयोगी है, ऐसे परिस्थितियों में जहां सामान्य उद्देश्य उपकरण उनके लिए लागू किए जा सकते हैं और कुछ अनावश्यकता वांछनीय है। यदि आप आधुनिक वेब विकास कर रहे हैं, तो एक अच्छा मौका है कि आप HTML के बजाय एक्सएचटीएमएल का उत्पादन कर रहे हैं, और आरएसएस या एटम का उत्पादन कर रहे हैं, इसलिए आपको पहले से ही इसका उपयोग करना चाहिए। सबसे आम आरडीएफ प्रारूप इसका उपयोग करते हैं।

JSON वेब पर डेटा के लिए काम करना थोड़ा आसान है, लेकिन उसे एक ही सुविधा सेट नहीं मिला है - आपके पास JSON में विशेषता नहीं हो सकती है इसलिए डेटा और मेटा-डेटा के बीच कोई अंतर नहीं है, और आपके पास प्रसंस्करण निर्देश या पाठ के दोहराए गए हिस्सों के लिए संस्थाएं बनाने की क्षमता नहीं है। दूसरी तरफ, एक्सएमएलएल के कई प्रयोग उन सुविधाओं का उपयोग नहीं करते हैं। एसक्यूएल डेटाबेस में एक निश्चित स्कीमा है, और पेड़ों का अच्छी तरह से प्रतिनिधित्व नहीं करते हैं।

अधिकतर एक्सएमएल इंटरऑपरेबिलिटी के लिए उपयोग किया जाता है।

+2

यदि वह वेब विकास कर रहा है, तो वह एक अच्छा मौका है कि वह 'टेक्स्ट/एचटीएमएल' के रूप में भेजे गए अमान्य 'एक्सएचटीएमएल' का उत्पादन कर रहा है। IMHO :) –

+1

हां, लेकिन यह सीखने के लिए कोई बहाना नहीं है। –

+2

* "आपके पास JSON में विशेषताएँ नहीं हो सकती हैं" * कैसे करें: '{" firstAttribute ":" value1 "," secondAttribute ":" value2 "," content ": [/ * blah * /]}'? और वे गुण स्वयं वस्तुएं हो सकते हैं, जबकि एक्सएमएल में वे स्ट्रिंग तक ही सीमित हैं। –

4

मैं वेब साइट लेबल, टैग आदि, या गैर दोहराई जाने वाली सामग्री का अनुवाद करने के लिए XML का उपयोग करें। इस तरह की चीज के लिए, यह एक जीवन बचतकर्ता है।

1

"को जानने एक्सएमएल" अलग अलग बातें की एक जोड़ी हो सकता है।

पहला मूल वाक्यविन्यास को समझ रहा है। यह XHTML, एसवीजी, एटम, आरएसएस, और अन्य भाषाओं जो XML अनुप्रयोगों हैं के एक मेजबान लिखने के लिए एक शर्त है।

दूसरा पहले पर बनाता है और एक कैसे अपने स्वयं के XML अनुप्रयोगों, अर्थात् कस्टम डेटा भंडारण या विनिमय स्वरूपों को विकसित करने का समझते हैं। जेएसओएन एक समान भूमिका को पूरा कर सकता है और इसमें कुछ फायदे हैं (जैसे कि डेटा की सरणी को स्पष्ट रूप से प्रदर्शित करने में सक्षम होना: { bar: ['foo'] }। एक्सएमएल में एक पार्सर को <bar> की सामग्री को प्रोग्रामिंग भाषा के लिए सरणी में परिवर्तित करना होगा, यदि आप चाहते हैं इसे एक साधारण डेटा संरचना के रूप में देखें) <bar><foo/></bar>) और नुकसान (एक्सएमएल आपको कम प्रयास के साथ किसी भी क्रम में वैकल्पिक चीजें देता है)।

2

एक्सएमएल डेटा इंटरचेंज का एकमात्र समाधान है और कुछ भी नहीं है।

तो, आपको केवल आरएसएस फ़ीड को पार्स या आपूर्ति करने के लिए एक्सएमएल सीखना होगा। यद्यपि कोई रॉकेट विज्ञान नहीं है, क्योंकि यह कुछ सख्त दिशानिर्देशों के साथ HTML के समान मार्कअप भाषा है।

Ol' good article from ol' good Joel बातें सुलझाने के लिए

+2

निरपेक्षता हमेशा गलत होती है। – Tom

6

अन्य क्रमबद्धता प्रारूपों पर XML का लाभ में से एक यह उपलब्ध उपकरणों की संख्या है। दूसरा आपके डेटा (एक्सएमएल स्कीमा) के विवरण को औपचारिक बनाने की क्षमता है।

उपकरणों की उपलब्धता आप XML संपादक, ट्रांसफॉर्मर, visualizers, का उपयोग करें ... उदाहरण के लिए, जहाँ मैं काम, हम संचार टीम एक XML संपादक का उपयोग सामग्री और मेटाडेटा संपादित करने की सुविधा देता है। वे जेएसओएन हाथ (या एक्सएमएल) लिखने के लिए पर्याप्त तकनीकी नहीं हैं, लेकिन आवश्यक दस्तावेज़ों को संपादित करने के लिए उन्हें एक अच्छा जेनेरिक फ्रंटएंड के साथ टेम्पलेट देना बहुत आसान है।

प्रारूप का वर्णन करने के लिए एक तरह से करने के बाद (XSD, DTD, एनजी आराम से, ...) का अर्थ है कि आप भी पूर्ण रूप से अपने अपने दस्तावेज़ों को मान्य कर सकते हैं। यह आपके दस्तावेज़ों में क्या अनुमति है और क्या नहीं है इसके बारे में एक बहुत अच्छी प्रलेखन के रूप में कार्य करता है।

5

एक्सएमएल केवल एक संरचित तरीके से संदेशों को संग्रहीत करने के लिए है जो (स्पष्ट रूप से) अनुप्रयोग अज्ञेयवादी है। यह सब कुछ है। एक और तरीके से कहा, एक्सएमएल विभिन्न अनुप्रयोगों के बीच संचार करते समय डेटा के अर्थशास्त्र (अर्थ) को संरक्षित करने का एक तरीका प्रदान करता है। यह कॉन्फ़िगरेशन प्रारूप के रूप में भी लोकप्रिय है क्योंकि (1) कॉन्फ़िगरेशन फ़ाइल केवल विभिन्न एप्लिकेशन सत्रों के बीच एक संदेश है * और (2) लगभग हर भाषा में परिपक्व, मानक एक्सएमएल पुस्तकालय हैं।

* आप इसे एप्लिकेशन के बीच संचार करने के केवल एक अपमानजनक मामले के रूप में भी सोच सकते हैं।

1

एक्सएमएल के लिए एक प्रारूप के रूप में उपयोगी है: प्लेटफ़ॉर्म पर

  • पोर्टिंग डेटा एक डेटाबेस
  • पार भाषा एकीकरण

सामग्री प्रबंधन प्रणालियों के लिए इसका इस्तेमाल से

  • बैकअप या निर्यात पाठ इस उद्देश्य के लिए। यह भी क्लाइंट साइड templating कोड कैशिंग के लिए उपयोगी है के रूप में skechers.com पर इस्तेमाल किया और एक comment from Mark Beeson on Tim Bray's site में पर विस्तार से बताया:

    सौभाग्य से, वहाँ ग्राहक पर पूरे दृश्य परत कैश करने के लिए एक तरीका है, अभी भी है, जबकि पृष्ठों का सम्मान करना और अभी भी राक्षस URL के बिना सही स्थानों में AJAX की पेशकश करना। skechers.com के स्रोत की जाँच करें - हम क्लाइंट साइड XSLT, जो ब्राउज़र में कैश हो जाता है का उपयोग कर रहे हैं, और एक XSL फ़ाइल पूरी साइट के लेआउट का वर्णन है। इस तरह, पृष्ठ से पृष्ठ पर नेविगेट करते समय, आप केवल थोड़ी सी मात्रा को एक्सएमएल डाउनलोड कर रहे हैं। हमने पाया कि यह हमारे ऐप को बहुत तेज़ी से बढ़ाता है, और हमें कैशिंग की भारी मात्रा में भारी मात्रा में खींचने की इजाजत देता है।

    संदर्भ

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