{"id":86880,"date":"2023-01-16T11:00:53","date_gmt":"2023-01-16T05:30:53","guid":{"rendered":"https:\/\/techvidvan.com\/tutorials\/?p=86880"},"modified":"2023-01-16T11:00:53","modified_gmt":"2023-01-16T05:30:53","slug":"xml-parsing-in-python3","status":"publish","type":"post","link":"https:\/\/techvidvan.com\/tutorials\/xml-parsing-in-python3\/","title":{"rendered":"XML Parsing in Python3: A Comprehensive Guide"},"content":{"rendered":"<p><span style=\"font-weight: 400\">Extensible Markup Language, sometimes known as XML, is a markup language that is frequently used for data storage and transmission. It is a flexible and powerful format, but it can also be complex to work with. Fortunately, Python provides several different libraries and modules that can make XML processing in Python much easier.<\/span><\/p>\n<p><span style=\"font-weight: 400\">The most common way to work with XML in Python is to use the <\/span><span style=\"font-weight: 400\">`<\/span><span style=\"font-weight: 400\">xml.etree.ElementTree<\/span><span style=\"font-weight: 400\">` <\/span><span style=\"font-weight: 400\">module, which is part of the standard library. This module provides a simple and efficient way to parse and create XML documents.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">XML Parser Architecture<\/span><\/h3>\n<p><span style=\"font-weight: 400\">An XML parser is a software that is used to read and process XML documents. There are several different ways that an XML parser can be designed, including event-based, tree-based, and hybrid approaches.<\/span><\/p>\n<p><span style=\"font-weight: 400\">There are two main types of XML parser architectures: event-driven parsers and tree-based parsers.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Event-driven parsers, also known as streaming parsers, process XML documents sequentially and use a series of callbacks to notify the application of different events, such as the start and end of elements and the presence of attributes. These parsers are efficient in terms of memory usage and processing speed, but they require the application to handle the event-based structure of the XML document.<\/span><\/p>\n<p><span style=\"font-weight: 400\">On the other hand, tree-based parsers construct<\/span><span style=\"font-weight: 400\"> a basic tree representation of the mentioned XML document in memory<\/span><span style=\"font-weight: 400\">, allowing the application to navigate the tree and extract information from it. These parsers are easier to use and allow for more flexibility in accessing and manipulating the XML data, but they require more memory and may be slower than event-driven parsers.<\/span><\/p>\n<h3>XML Parser APIs<\/h3>\n<p><span style=\"font-weight: 400\">Several APIs are available for working with XML parsers, including the Document Object Model (DOM), the Simple API for XML (SAX), and the Streaming API for XML.<\/span><\/p>\n<h4><span style=\"font-weight: 400\">1. DOM API<\/span><\/h4>\n<p><span style=\"font-weight: 400\">The DOM API provides a tree-based representation of an XML document, allowing the application to traverse the tree and manipulate the data. It is a commonly used API for working with XML documents, but it can be memory-intensive for large documents.<\/span><\/p>\n<h4><span style=\"font-weight: 400\">2. The SAX API<\/span><\/h4>\n<p><span style=\"font-weight: 400\">On the other hand, the SAX API uses an event-driven approach. It provides a series of callbacks to the application to notify it of different events in the XML document. It is a simple and efficient API, but it requires the application to handle the event-based structure of the XML document.<\/span><\/p>\n<h4><span style=\"font-weight: 400\">3. The StAX API<\/span><\/h4>\n<p><span style=\"font-weight: 400\">The StAX API is a hybrid of the DOM and SAX APIs and allows for event-driven and tree-based processing of XML documents. It will enable the application to traverse the XML document tree and receive notifications of events as they occur. This API provides flexibility and efficiency for working with XML documents.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Parsing XML with SAX APIs<\/span><\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-86916\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2023\/01\/parsing-xml-with-sax-apis.webp\" alt=\"parsing xml with sax apis\" width=\"960\" height=\"628\" \/><\/p>\n<p><span style=\"font-weight: 400\">To parse XML using SAX APIs in python3, we first need to import the required modules:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">import xml.sax\nfrom xml.sax.handler import ContentHandler\n<\/pre>\n<p><span style=\"font-weight: 400\">Next, we create a custom ContentHandler class that will handle the different events that occur during the parsing of the XML document:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">class MyContentHandler(ContentHandler):\n    def startElement(self, name, attrs):\n        # Do something when an element starts\n        pass\n\n    def endElement(self, name):\n        # Do something when an element ends\n        pass\n\n    def characters(self, content):\n        # Do something with the element's content\n        pass\n<\/pre>\n<p><span style=\"font-weight: 400\">Then, we create an instance of the SAX parser and set our custom content handler as its default content handler:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">parser = xml.sax.make_parser()\nparser.setContentHandler(MyContentHandler())\n<\/pre>\n<p><span style=\"font-weight: 400\">Finally, we can parse the XML document by calling the parse() method on the parser instance, passing the path to the XML document as an argument:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">parser.parse('my_xml_document.xml')\n<\/pre>\n<p><span style=\"font-weight: 400\">The parser will then call the different methods of our custom content handler class as it processes the XML document, allowing us to handle and process the elements and data within the document.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Parsing XML with DOM APIs<\/span><\/h3>\n<p><span style=\"font-weight: 400\">Firstly what we need to import are some of the necessary modules:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">from xml.dom import minidom<\/pre>\n<p><span style=\"font-weight: 400\">Next, we need to read the XML file and parse it into a DOM tree:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># Read in the given XML file\nTechVidvan_file = minidom.parse('TechVidvan.xml')\n\n# Next step is to parse the XML into a DOM tree\ndom_tree = TechVidvan_file.documentElement\n<\/pre>\n<p><span style=\"font-weight: 400\">Once we have the DOM tree, we can access the different elements in the tree using DOM APIs. For example, to access all the child elements of the root element, we can use the getElementsByTagName() method:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># Get all child elements of the root element from the file\nchild_elements = dom_tree.getElementsByTagName('*')\n\n# Loop through the child elements and print their tag names\nfor element in child_elements:\n    print(element.tagName)\n<\/pre>\n<p><span style=\"font-weight: 400\">To access the attributes of an element, we can use the getAttribute() method:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># You have to get the first child element of the root element\nfirst_child = dom_tree.getElementsByTagName('*')[0]\n\n# Get the value of the 'id' attribute of the first child element from the file\nchild_id = first_child.getAttribute('id')\n\n# To print the value of the 'id' attribute\nprint(child_id)\n<\/pre>\n<p><span style=\"font-weight: 400\">We can also access the text content of an element using the firstChild.data property:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># Get the first child element of the root element\nfirst_child = dom_tree.getElementsByTagName('*')[0]\n\n# Get the text content of the first child element\nchild_text = first_child.firstChild.data\n\n# Print the text content of the first child element\nprint(child_text)\n<\/pre>\n<p><span style=\"font-weight: 400\">With these DOM APIs, we can easily access and manipulate the elements and attributes in an XML file using Python.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Python Parse string method<\/span><\/h3>\n<p><span style=\"font-weight: 400\">To parse a string containing XML data in Python, you can use the xml.etree.ElementTree module. This module provides the fromstring function, which allows you to parse an XML string and create an ElementTree object that represents the XML data.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Here is an example of how to use the fromstring function to parse an XML string in Python:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">import xml.etree.ElementTree as ET\n\nxml_string = '''\n&lt;root&gt;\n    &lt;element attr=\"value\"&gt;Text&lt;\/element&gt;\n&lt;\/root&gt;\n'''\n\nroot = ET.fromstring(xml_string)\n<\/pre>\n<p><span style=\"font-weight: 400\">In this example, the xml_string variable contains a simple XML document with a root element and a single child element. We use the fromstring function to parse the XML string and create an ElementTree object that represents the XML data.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Once you have an ElementTree object, you can use various methods and attributes of the Element class to access and manipulate the XML data. For example, you can use the find method to locate an element by its tag name, and you can use the attrib attribute to access the element&#8217;s attributes.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Here is an example of how to access and manipulate the elements and attributes of an ElementTree object:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">import xml.etree.ElementTree as ET\n\nxml_string = '''\n&lt;root&gt;\n    &lt;element attr=\"value\"&gt;Text&lt;\/element&gt;\n&lt;\/root&gt;\n'''\n\nroot = ET.fromstring(xml_string)\n\n# Find the element by its tag name\nelement = root.find('element')\n\n# Print the element's text\nprint(element.text)\n\n# Print the value of the 'attr' attribute\nprint(element.attrib['attr'])\n\n# Set the value of the 'attr' attribute\nelement.attrib['attr'] = 'new value'\n\n# Print the modified XML tree\nprint(ET.tostring(root))\n<\/pre>\n<p><span style=\"font-weight: 400\">This will clarify the Parse string method in Python<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Python Make-Parser method<\/span><\/h3>\n<p><span style=\"font-weight: 400\">The make_parser method is a function of the xml.sax module in Python, which provides a Simple API for XML (SAX) parser. A SAX parser is an event-based parser that reads an XML document and generates events as it encounters different elements and content in the document.<\/span><\/p>\n<p><span style=\"font-weight: 400\">The make_parser method creates a new instance of a SAX parser and returns it. You can then use the parser to parse an XML document by calling its parse method and passing in the XML document as a file-like object or a URL.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Here is an example of how to use the make_parser method to create a SAX parser and parse an XML document in Python:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">import xml.sax\n\n# Create a SAX parser\nparser = xml.sax.make_parser()\n\n# Set the content handler for the parser\nhandler = MyContentHandler()\nparser.setContentHandler(handler)\n\n# Parse the XML document\nparser.parse('document.xml')\n\n<\/pre>\n<p><span style=\"font-weight: 400\">In this example, we create a SAX parser using the make_parser method and set the content handler for the parser using the setContentHandler method. A content handler is an object that implements the ContentHandler interface and defines methods to handle the events generated by the parser.<\/span><\/p>\n<p><span style=\"font-weight: 400\">We then call the parse method of the parser and pass it in the XML document as an argument. The parser reads the document and generates events as it encounters different elements and content in the document. The content handler&#8217;s methods are called as the events are generated, allowing you to process the XML data.<\/span><\/p>\n<p><span style=\"font-weight: 400\">I hope this helps clarify how to use the make_parser method in the xml.sax module to create a SAX parser in Python.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Conclusion<\/span><\/h3>\n<p><span style=\"font-weight: 400\">The article demonstrates how to use the dom and sax APIs to process XML data in Python3. The dom API allows for the creation and manipulation of an in-memory XML document, while the sax API allows for parsing XML data from a file or string<\/span><span style=\"font-weight: 400\">. The above approaches have advantages as well as disadvantages, and the choice of when to use them depends on the application&#8217;s specific needs.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Overall, the article provides a comprehensive guide to XML processing in Python3 using API, with clear explanations and code examples to help readers understand and implement the concepts discussed.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Extensible Markup Language, sometimes known as XML, is a markup language that is frequently used for data storage and transmission. It is a flexible and powerful format, but it can also be complex to&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":86915,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1053],"tags":[4824,4825,4826,4827],"class_list":["post-86880","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","tag-xml-parser-api","tag-xml-parsing-in-python","tag-xml-processing","tag-xml-processing-in-python"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>XML Parsing in Python3: A Comprehensive Guide - TechVidvan<\/title>\n<meta name=\"description\" content=\"Learn about XML parsing in Python. See how to use the dom and sax APIs to process XML data in Python3. Also see Python Make-Parser method.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/techvidvan.com\/tutorials\/xml-parsing-in-python3\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"XML Parsing in Python3: A Comprehensive Guide - TechVidvan\" \/>\n<meta property=\"og:description\" content=\"Learn about XML parsing in Python. See how to use the dom and sax APIs to process XML data in Python3. Also see Python Make-Parser method.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/techvidvan.com\/tutorials\/xml-parsing-in-python3\/\" \/>\n<meta property=\"og:site_name\" content=\"TechVidvan\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/TechVidvan\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-01-16T05:30:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2023\/01\/xml-processing-in-python.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"TechVidvan Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@vidvantech\" \/>\n<meta name=\"twitter:site\" content=\"@vidvantech\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"TechVidvan Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"XML Parsing in Python3: A Comprehensive Guide - TechVidvan","description":"Learn about XML parsing in Python. See how to use the dom and sax APIs to process XML data in Python3. Also see Python Make-Parser method.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/techvidvan.com\/tutorials\/xml-parsing-in-python3\/","og_locale":"en_US","og_type":"article","og_title":"XML Parsing in Python3: A Comprehensive Guide - TechVidvan","og_description":"Learn about XML parsing in Python. See how to use the dom and sax APIs to process XML data in Python3. Also see Python Make-Parser method.","og_url":"https:\/\/techvidvan.com\/tutorials\/xml-parsing-in-python3\/","og_site_name":"TechVidvan","article_publisher":"https:\/\/www.facebook.com\/TechVidvan\/","article_published_time":"2023-01-16T05:30:53+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2023\/01\/xml-processing-in-python.webp","type":"image\/webp"}],"author":"TechVidvan Team","twitter_card":"summary_large_image","twitter_creator":"@vidvantech","twitter_site":"@vidvantech","twitter_misc":{"Written by":"TechVidvan Team","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/techvidvan.com\/tutorials\/xml-parsing-in-python3\/#article","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/xml-parsing-in-python3\/"},"author":{"name":"TechVidvan Team","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22"},"headline":"XML Parsing in Python3: A Comprehensive Guide","datePublished":"2023-01-16T05:30:53+00:00","mainEntityOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/xml-parsing-in-python3\/"},"wordCount":1221,"commentCount":0,"publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/xml-parsing-in-python3\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2023\/01\/xml-processing-in-python.webp","keywords":["XML parser api","XML Parsing in Python","XML Processing","XML Processing in Python"],"articleSection":["Python Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/techvidvan.com\/tutorials\/xml-parsing-in-python3\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/techvidvan.com\/tutorials\/xml-parsing-in-python3\/","url":"https:\/\/techvidvan.com\/tutorials\/xml-parsing-in-python3\/","name":"XML Parsing in Python3: A Comprehensive Guide - TechVidvan","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/#website"},"primaryImageOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/xml-parsing-in-python3\/#primaryimage"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/xml-parsing-in-python3\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2023\/01\/xml-processing-in-python.webp","datePublished":"2023-01-16T05:30:53+00:00","description":"Learn about XML parsing in Python. See how to use the dom and sax APIs to process XML data in Python3. Also see Python Make-Parser method.","breadcrumb":{"@id":"https:\/\/techvidvan.com\/tutorials\/xml-parsing-in-python3\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/techvidvan.com\/tutorials\/xml-parsing-in-python3\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/xml-parsing-in-python3\/#primaryimage","url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2023\/01\/xml-processing-in-python.webp","contentUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2023\/01\/xml-processing-in-python.webp","width":1200,"height":628,"caption":"xml processing in python"},{"@type":"BreadcrumbList","@id":"https:\/\/techvidvan.com\/tutorials\/xml-parsing-in-python3\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/techvidvan.com\/tutorials\/"},{"@type":"ListItem","position":2,"name":"XML Parsing in Python3: A Comprehensive Guide"}]},{"@type":"WebSite","@id":"https:\/\/techvidvan.com\/tutorials\/#website","url":"https:\/\/techvidvan.com\/tutorials\/","name":"TechVidvan Blogs","description":"","publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/techvidvan.com\/tutorials\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/techvidvan.com\/tutorials\/#organization","name":"TechVidvan","url":"https:\/\/techvidvan.com\/tutorials\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/logo\/image\/","url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2024\/03\/techvidvan-logo-200x50-1.webp","contentUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2024\/03\/techvidvan-logo-200x50-1.webp","width":200,"height":50,"caption":"TechVidvan"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/TechVidvan\/","https:\/\/x.com\/vidvantech"]},{"@type":"Person","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22","name":"TechVidvan Team","description":"The TechVidvan Team delivers practical, beginner-friendly tutorials on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our experts are here to help you upskill and excel in today\u2019s tech industry."}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/86880","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/comments?post=86880"}],"version-history":[{"count":0,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/86880\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media\/86915"}],"wp:attachment":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media?parent=86880"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/categories?post=86880"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/tags?post=86880"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}