ኤክስኤምኤል ወደ JSON መለወጫ
የXML ውሂብን ወይም ፋይሎችን በአሳሽህ ውስጥ ወደ JSON ቅርጸት ቀይር። ብጁ ማስገባትን ይደግፋል እና የጎጆ መዋቅሮችን ይቆጣጠራል።
የኤክስኤምኤል ፋይልን ይምረጡ
ወይም እዚህ ጎትት እና ጣል
የXML ውሂብን ወይም ፋይሎችን በአሳሽህ ውስጥ ወደ JSON ቅርጸት ቀይር። ብጁ ማስገባትን ይደግፋል እና የጎጆ መዋቅሮችን ይቆጣጠራል።
ወይም እዚህ ጎትት እና ጣል
XML እና JSON ሁለቱም የመረጃ መለዋወጫ ቅርጸቶች ናቸው ነገር ግን ከተለያዩ የድሩ ዘመናት የመጡ ናቸው። ኤክስኤምኤል፣ በ1998 ደረጃውን የጠበቀ፣ እራሱን የሚገልፅ የማርክ ማድረጊያ ቅርጸት ከባህሪያት፣ የስም ቦታዎች እና የንድፍ ማረጋገጫ ጋር ተዘጋጅቷል። JSON በ2000ዎቹ መጀመሪያ ላይ ለጃቫ ስክሪፕት አሂድ ጊዜ እና ለዘመናዊ ኤፒአይዎች ተስማሚ የሆነ ቀላል ክብደት ያለው ቅርጸት ሆኖ ብቅ አለ። አብዛኞቹ አዳዲስ የድር APIs JSON ይናገራሉ; ብዙ የቆዩ ስርዓቶች - የሶፕ አገልግሎቶች፣ የአርኤስኤስ ምግቦች፣ የውቅር ፋይሎች፣ የድርጅት ውህደቶች - አሁንም ኤክስኤምኤልን ያመርታሉ። በመካከላቸው መለወጥ በዘመናዊ ልማት ውስጥ በጣም ከተለመዱት interop ተግባራት ውስጥ አንዱ ነው።
ሁለቱ ቅርጸቶች የተለያየ ገላጭ ሃይል ስላላቸው ልወጣው ፍፁም ኪሳራ የለውም። ኤክስኤምኤል ባህሪያት አሉት (JSON ቤተኛ ያልሆነው)፣ የጽሁፍ ይዘት እና የንጥል ስሞችን ይለያል፣ እና የተደባለቀ ይዘትን ይደግፋል (ሁለቱንም የጽሁፍ እና የልጅ አካላትን የያዙ አካላት)። የJSON ቀጥተኛ ነገር/አደራደር ሞዴል እነዚህን ባህሪያት በቀጥታ ሊወክል አይችልም፣ስለዚህ ለዋጮች ስምምነቶችን ይተገበራሉ፡ ባህሪያት @-ቅድመ-ቅጥያ ቁልፎች ይሆናሉ፣ የጽሁፍ ይዘት #የጽሁፍ ቁልፍ ይሆናል፣ እና የመሳሰሉት።
ይህ መቀየሪያ በአሳሹ አብሮ የተሰራውን DOMParser በመጠቀም ኤክስኤምኤልን ይተነተን እና የተገኘውን የDOM ዛፍ JSON ለማምረት ይራመዳል። ከወንድሞች እና እህቶች ጋር ተመሳሳይ የመለያ ስም ያላቸው ንጥረ ነገሮች በድርድር ይሰበሰባሉ; ባህሪያት ወደ ልዩ ቁልፎች ውስጥ ይገባሉ; የስም ቦታዎች እና የማስኬጃ መመሪያዎች ሲገኙ ተጠብቀዋል። ውጤቱ በሰው ሊነበብ የሚችል JSON ነው ዙር ጉዞዎች በምክንያታዊነት ወደ ኤክስኤምኤል ይመለሳሉ።
አብዛኛው ዘመናዊ የመተግበሪያ ኮድ ለJSON የበለጠ ምቹ ነው። ጃቫ ስክሪፕት JSONን በትውልድ ይተነትናል፣ Python's json module በመደበኛው ቤተ-መጽሐፍት ውስጥ አለ፣ እና ሁሉም ሌሎች ቋንቋዎች ተመሳሳይ የአንደኛ ደረጃ JSON ድጋፍ አላቸው። የኤክስኤምኤል ሂደት ተጨማሪ ቤተ-መጻሕፍት ማስመጣት እና ተጨማሪ ቦይለር መጻፍ ይጠይቃል። ከሂደቱ በፊት ገቢ ኤክስኤምኤልን ወደ JSON መቀየር ብዙ ጊዜ ከውጫዊ ኤክስኤምኤል ምግብ ወደ ውስጣዊ የውሂብ መዋቅር ፈጣኑ መንገድ ነው።
መሳሪያ መስራት JSONንም ዘንበል ይላል። JSON ማስዋቢያዎች፣ አረጋጋጮች፣ ሼማ አረጋጋጮች፣ የጥያቄ ቋንቋዎች (jq፣ JSONPath) እና ተመልካቾች በብዛት ይገኛሉ። የኤክስኤምኤል አቻዎች ያነሱ እና ብዙ ጊዜ ያረጁ ናቸው። በJSON ውስጥ መሥራት የበለፀገ የመሣሪያዎች ሥነ-ምህዳርን ይከፍታል።
XML ለጥፍ፣ JSON ያግኙ።
DOMParser አሳሹ ለXHTML ገጾች ከሚጠቀምበት ጋር ተመሳሳይ የሆነ ኤክስኤምኤል DOM ይፈጥራል። ቀያሪው ይህንን DOM በተከታታይ ይራመዳል። ለእያንዳንዱ ኤለመንት የJSON ነገርን ይፈጥራል፡ ባህሪያት በ @ (ለምሳሌ @id፣ @class) ቅድመ ቅጥያ ያላቸው ቁልፎች ይሆናሉ። የሕፃኑ ንጥረ ነገሮች በተመሳሳይ መዋቅር ውስጥ ይደጋገማሉ ። የጽሑፍ ይዘት፣ ከልጆች ጋር ሲገኝ፣ በ#ጽሑፍ ቁልፍ ስር ይኖራል።
ተመሳሳይ የመለያ ስም ያላቸው ተደጋጋሚ የልጅ ክፍሎች በJSON ድርድር ውስጥ ይሰበሰባሉ። አንድ ስም ያለው ነጠላ ልጅ እንደ ዕቃ እሴት ሆኖ ይታያል; ብዙ ልጆች እንደ ዕቃ ድርድር ይታያሉ። ይህ ስምምነት በተግባር በደንብ ይሰራል ነገር ግን የJSON ቅርፅ የሚወሰነው ንጥረ ነገሮች አንድ ጊዜ ወይም ብዙ ጊዜ በመታየታቸው ላይ ነው - የታወቀ የXML-to-JSON ካርታ ስራ ጉድለት።
የስም ቦታዎች እንደ የአባል ስሞች አካል ተጠብቀዋል (ቅድመ ቅጥያ፡ የአካባቢ ስም)። የሂደት መመሪያዎች እና የሲዲኤታ ክፍሎች ወደ የጽሑፍ ይዘት ተለውጠዋል። የኤክስኤምኤል መግለጫዎች እና DOCTYPE ከJSON ውፅዓት የተነጠቁ ናቸው ነገር ግን በመረጃው ላይ ተጽዕኖ አያሳርፉም።