XML में एक तत्व और नोड के बीच अंतर क्या है?


370

मैं एक्सएमएल के साथ जावा में काम कर रहा हूं और सोच रहा हूं; एक तत्व और एक नोड के बीच अंतर क्या है?


7
W3c पर एक नज़र ज़रूर डालें । डेटामॉडल को समझना आसान है - मेरे लिए भी!
xtofl

15
मंचों से शानदार टिप्पणी .asp.net / t / 443912.aspx / 1
atconway

2
एक तत्व एक अच्छी तरह से गठित XML दस्तावेज़ की औपचारिक परिभाषा का हिस्सा है, जबकि नोड को XML दस्तावेज़ों को संसाधित करने के लिए दस्तावेज़ ऑब्जेक्ट मॉडल के भाग के रूप में परिभाषित किया गया है।
जूल

जवाबों:


259

नोड ऑब्जेक्ट संपूर्ण DOM के लिए प्राथमिक डेटा प्रकार है।

एक नोड एक तत्व नोड, एक विशेषता नोड, एक पाठ नोड या किसी अन्य नोड प्रकार "नोड प्रकार" अध्याय में समझाया जा सकता है।

एक XML तत्व तत्व के अंत टैग से (सहित) तत्व के प्रारंभ टैग से सब कुछ है।


122
अब जब कि मैं जवाब समझ गया हूँ ... सम्मेलन मूर्खतापूर्ण है। शब्दों के चारों ओर दूसरा रास्ता होना चाहिए। प्राकृतिक अंग्रेजी भाषा में 'एलीमेंट' एक ऐसी चीज है जो सबसे बुनियादी बिल्डिंग ब्लॉक है, जिसमें से बाकी सब कुछ बनाया गया है। यानी प्राकृतिक अंग्रेजी में एक तत्व अधिक सामान्य है ...
सैम स्वेनबॉर्ग्सक्राइस्टेंसेंसन

11
@ जुआन मेंडेस: यही वे डोम के अनुसार हैं, लेकिन सैम की बात यह है कि डोम तत्वों की तुलना में नोड्स को अधिक बुनियादी (आदिम) मानते हैं, जब "तत्व" वास्तव में अंग्रेजी में सबसे बुनियादी बिल्डिंग ब्लॉक को संदर्भित करता है।
BoltClock

16
@SamSvenbjorgchristiensensen जो बिल्कुल सटीक नहीं है। तत्वों को प्रोटॉन, न्यूट्रॉन और इलेक्ट्रॉनों जैसे 'घटक भागों' में और अधिक तोड़ा जा सकता है, जो बदले में क्वार्क, न्यूट्रिनो आदि में टूट सकते हैं। यह समझना बेहतर है कि ग्राफ सिद्धांत में 'नोड' का क्या अर्थ है , और फिर आप क्या करेंगे। यह समझें कि XML डिजाइनरों ने यह नाम क्यों चुना (DOM केवल एक पदानुक्रमित ग्राफ़ है)।
लेस हेजलवुड

20
@LesHazlewood वास्तव में, "तत्व" शब्द का उपयोग भौतिक तत्वों (हाइड्रोजन, हीलियम, आदि) का वर्णन करने के लिए किया गया था क्योंकि उन्हें लगता था कि वे चीजें अविभाज्य थीं। बहुत बाद में पता चला कि वे गलत थे - नाम बदलने के लिए बहुत देर हो चुकी थी; ) मैं सैम के साथ सहमत हूं, जिस तरह से उन्होंने नाम दिया और विभेदित डोम तत्वों बनाम नोड्स को भ्रमित किया है और खराब तरीके से सोचा है (जितना कि एचटीएमएल कल्पना है)।
BT

3
@ यदि आपका तर्क पानी पकड़ लेगा अगर XML युक्ति समिति प्राचीन ग्रीस में रहती थी :) तो उन्होंने ऐसा नहीं किया, और इस तरह, तत्व के आधुनिक (शब्दकोश) परिभाषा जो (स्पष्ट रूप से) घटक भागों का प्रतिनिधित्व करती है, समझ में आता है। नोड्स के ग्राफ सिद्धांत ज्ञान के साथ जोड़ें, और व्याख्या के लिए वास्तव में बहुत जगह नहीं है।
लेस हेजलवुड

68

विभिन्न W3C विनिर्देशों "नोड" प्रकार के विभिन्न सेटों को परिभाषित करते हैं।

इस प्रकार, DOM युक्ति निम्नलिखित प्रकार के नोड्स को परिभाषित करती है:

  • Document- Element(एक की अधिकतम), ProcessingInstruction, Comment,DocumentType
  • DocumentFragment - Element, ProcessingInstruction, Comment, Text, CDATASection,EntityReference
  • DocumentType -- कोई बच्चे नहीं
  • EntityReference - Element, ProcessingInstruction, Comment, Text, CDATASection,EntityReference
  • Element- Element, Text, Comment, ProcessingInstruction, CDATASection,EntityReference
  • Attr- Text,EntityReference
  • ProcessingInstruction -- कोई बच्चे नहीं
  • Comment -- कोई बच्चे नहीं
  • Text -- कोई बच्चे नहीं
  • CDATASection -- कोई बच्चे नहीं
  • Entity- Element, ProcessingInstruction, Comment, Text, CDATASection,EntityReference
  • Notation -- कोई बच्चे नहीं

XML इन्फोसेट (XPath द्वारा प्रयुक्त) नोड्स का एक छोटा समूह है:

  • दस्तावेज़ जानकारी आइटम
  • तत्व सूचना आइटम
  • सूचना आइटम संलग्न करें
  • प्रसंस्करण निर्देश सूचना आइटम
  • Unexpanded इकाई संदर्भ सूचना आइटम
  • चरित्र सूचना आइटम
  • टिप्पणी सूचना आइटम
  • दस्तावेज़ प्रकार घोषणा सूचना आइटम
  • अनारक्षित इकाई सूचना आइटम
  • सूचना सूचना आइटम
  • नामस्थान सूचना आइटम
  • XPath में निम्नलिखित नोड प्रकार हैं:

    • रूट नोड्स
    • तत्व नोड्स
    • पाठ नोड्स
    • विशेषता नोड्स
    • नेमस्पेस नोड्स
    • प्रसंस्करण निर्देश नोड्स
    • टिप्पणी करें

    आपके प्रश्न का उत्तर " एक तत्व और एक नोड के बीच अंतर क्या है ":

    An element is a type of node. Many other types of nodes exist and serve different purposes.


    29

    एक नोड DOM ट्री का एक हिस्सा है, एक तत्व एक विशेष प्रकार का नोड है

    जैसे <foo> This is Text </foo>

    आपके पास एक फू एलिमेंट है, (जो कि नोड भी है, जैसा कि एलिमेंट नोड से विरासत में मिला है) और एक टेक्स्ट नोड 'यह टेक्स्ट है', जो कि फू एलिमेंट / नोड का एक बच्चा है


    7
    यह छोटा उदाहरण मुझे और अधिक समझ देता है फिर चयनित उत्तर।
    केएमसी

    27

    एक नोड विभिन्न प्रकार की कई चीजें हो सकती हैं: कुछ पाठ, एक टिप्पणी, एक तत्व, एक इकाई, आदि। एक तत्व एक विशेष प्रकार का नोड है।


    15

    जैसा कि विभिन्न XML विशिष्टताओं में वर्णित है , एक elementवह है जिसमें एक प्रारंभ टैग और अंत टैग शामिल हैं, और बीच में सामग्री, या वैकल्पिक रूप से एक खाली तत्व टैग (जिसमें कोई सामग्री या समाप्ति टैग नहीं है)। दूसरे शब्दों में, ये सभी तत्व हैं:

    <foo> stuff </foo>
    <foo bar="baz"></foo>
    <foo baz="qux" />

    यद्यपि आप सुनते हैं कि "नोड" लगभग उसी अर्थ के साथ प्रयोग किया जाता है, इसकी XML चश्मे के प्रति कोई सटीक परिभाषा नहीं है। यह आमतौर पर DOM जैसी चीजों के नोड्स को संदर्भित करने के लिए उपयोग किया जाता है, जो XML से निकटता से संबंधित हो सकता है या उनके प्रतिनिधित्व के लिए XML का उपयोग कर सकता है।


    11

    एक xml दस्तावेज़ नेस्टेड तत्वों से बना है। एक तत्व अपने शुरुआती टैग पर शुरू होता है और इसके समापन टैग पर समाप्त होता है । आप शायद देख रहे हैं <body>और </body>html में। उद्घाटन और समापन टैग के बीच सब कुछ तत्व की सामग्री है । यदि कोई तत्व स्व-समापन टैग (जैसे। <br/>) द्वारा परिभाषित किया गया है, तो इसकी सामग्री खाली है।

    उद्घाटन टैग भी विशेषताएँ निर्दिष्ट कर सकते हैं , उदाहरण के लिए। <p class="rant">। इस उदाहरण में विशेषता का नाम 'वर्ग' और उसका मान 'शेख़ी' है।

    XML भाषा में 'नोड' जैसी कोई चीज नहीं हैयुक्ति पढ़ें , शब्द घटित नहीं होता है।

    कुछ लोग 'नोड' शब्द का उपयोग अनौपचारिक रूप से तत्व के लिए करते हैं, जो भ्रामक है क्योंकि कुछ पार्सर शब्द को तकनीकी अर्थ देते हैं ('पाठ नोड्स' और 'तत्व नोड्स' की पहचान)। सटीक अर्थ पार्सर पर निर्भर करता है, इसलिए इस शब्द को तब तक परिभाषित नहीं किया जाता है जब तक आप यह नहीं बताते हैं कि आप किस पार्सर का उपयोग कर रहे हैं। यदि आप तत्व का अर्थ करते हैं, तो 'तत्व' कहें


    यह शब्द घटित होता है: "(यानी, नियमित अभिव्यक्ति के लिए वाक्यविन्यास के पेड़ में प्रत्येक पत्ती नोड)"। यह एक गैर-मानक परिशिष्ट में है, लेकिन फिर भी ऐसा नहीं होता है। वहां इस शब्द का प्रयोग पार्स ट्री में नोड के रूप में किया जाता है।
    आकाश

    यहां तक ​​कि अगर कोई मानता है कि एक्सएमएल परिभाषा में नोड्स का उल्लेख नहीं है, तो प्रोग्राम ऑब्जेक्टेटिक मॉडल (डीओएम) को एक्सएमएल की प्रोग्रामेटिक व्याख्या और हेरफेर के लिए परिभाषित किया गया है (समान मानकों संगठन द्वारा) वास्तव में "नोड" शब्द को परिभाषित और उपयोग करता है। यह उत्तर शब्दों को अलग करने में मदद नहीं करता है और यह केवल विभिन्न चीजों को यह कहते हुए अनदेखा करने में मदद नहीं करता है कि उनका मतलब एक ही है।
    सी पर्किन्स

    9

    एक नोड दोनों तत्वों और विशेषताओं (और मूल रूप से अन्य सभी XML प्रतिनिधित्व भी) के लिए आधार वर्ग है।


    7

    तत्व केवल एक प्रकार का नोड है जिसमें बाल नोड और गुण हो सकते हैं।

    दस्तावेज़ में बाल नोड्स भी हैं, लेकिन
    कोई विशेषता नहीं, कोई पाठ नहीं, बिल्कुल एक बाल तत्व।


    2

    एक नोड के रूप में परिभाषित किया गया है:

    किसी दस्तावेज़ में एक वैध, पूर्ण संरचना की सबसे छोटी इकाई।

    या के रूप में:

    पेड़ के दृश्य में एक वस्तु जो संबंधित वस्तुओं को रखने के लिए एक कंटेनर के रूप में कार्य करती है।

    अब उनके तत्वों नोड, एक विशेषता नोड आदि के रूप में कई अलग-अलग प्रकार के नोड हैं।


    1

    अब मुझे पता है, तत्व नोड में से एक है

    यहाँ सभी नोड प्रकार " http://www.w3schools.com/dom/dom_nodetype.asp "

    तत्व प्रारंभ टैग के बीच है और अंतिम टैग में अंत है

    इसलिए टेक्स्ट नोड एक नोड है, लेकिन एक तत्व नहीं है।



    -3

    XML तत्व एक XML नोड है, लेकिन अतिरिक्त तत्वों जैसे विशेषता के साथ।

    <a>Lorem Ipsum</a>  //This is a node
    
    <a id="sample">Lorem Ipsum</a>  //This is an element

    मैं नहीं मानता कि आपके पास इस दावे का कोई स्रोत है? उदाहरण के लिए, XML मानक शब्द को परिभाषित करता है "तत्व" या तो एक खाली तत्व टैग या सब कुछ जिसमें प्रारंभ टैग से लेकर और अंत टैग शामिल हैं। एक स्टार्ट टैग और खाली तत्व टैग के लिए किसी भी तत्व की आवश्यकता नहीं है। आपके दोनों उदाहरण तत्व हैं। "नोड" शब्द को अन्यत्र परिभाषित किया गया है, डोम में जो एक वस्तु मॉडल के बारे में है और पाठ में ही नहीं है।
    आसमान छू रहा है

    -7

    नोड और तत्व समान हैं। प्रत्येक तत्व एक नोड है, लेकिन ऐसा नहीं है कि प्रत्येक नोड एक तत्व होना चाहिए।


    9
    जैसा कि "यह नहीं है कि प्रत्येक नोड को एक तत्व होना चाहिए", दावा "नोड और तत्व समान हैं" गलत है।
    ग्लोगल

    1
    इसके अलावा आपका वर्णन गलत है, यह बहुत उपयोगी भी नहीं है। आप के बारे में सही बात यह है कि शर्तों के बीच कुछ अंतर है, लेकिन सवाल यह था कि वहाँ क्या अंतर है।
    skyking
    हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
    Licensed under cc by-sa 3.0 with attribution required.