{"id":22674,"date":"2015-04-24T15:00:18","date_gmt":"2015-04-24T12:00:18","guid":{"rendered":"http:\/\/examples.javacodegeeks.com\/?p=22674"},"modified":"2015-04-21T21:18:51","modified_gmt":"2015-04-21T18:18:51","slug":"xpath-parent-node-example","status":"publish","type":"post","link":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/","title":{"rendered":"XPath parent node example"},"content":{"rendered":"<p>In the <a href=\"http:\/\/examples.javacodegeeks.com\/core-java\/xml\/xpath\/xpath-descendant-example\/\" title=\"dependant\" target=\"_blank\">previous example<\/a>, we introduced the <code>dependant<\/code> axis specifier. In this example, we shall talk about the <code>ancestor<\/code> axis in XPath Expression.<\/p>\n<p>The ancestor tag is used to select the ancestor of the current node and the ancestor of the ancestor and so on in context of the current node.<\/p>\n<p>We will look at a few examples to see how <code>ancestor<\/code> works.<\/p>\n<p>Consider the XML file below for our example. The File has a number of  nodes under the  tag representing a cricket team:<\/p>\n<p><span style=\"text-decoration: underline\"><em>cricketTeam_info.xml<\/em><\/span><\/p>\n<pre class=\"brush:xml\">\r\n\r\n&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\r\n\r\n&lt;cricketers&gt;\r\n\t&lt;cricketer type=\"righty\"&gt;\r\n\t\t&lt;name&gt;MS Dhoni&lt;\/name&gt;\r\n\t\t&lt;role&gt;Captain&lt;\/role&gt;\r\n\t\t&lt;position&gt;Wicket-Keeper&lt;\/position&gt;\r\n\t&lt;\/cricketer&gt;\r\n\t&lt;cricketer type=\"lefty\"&gt;\r\n\t\t&lt;name&gt;Shikhar Dhawan&lt;\/name&gt;\r\n\t\t&lt;role&gt;Batsman&lt;\/role&gt;\r\n\t\t&lt;position&gt;Point&lt;\/position&gt;\r\n\t&lt;\/cricketer&gt;\r\n\t&lt;cricketer type=\"righty\"&gt;\r\n\t\t&lt;name&gt;Virat Kohli&lt;\/name&gt;\r\n\t\t&lt;role&gt;Batsman&lt;\/role&gt;\r\n\t\t&lt;position&gt;cover&lt;\/position&gt;\r\n\t&lt;\/cricketer&gt;\r\n\t&lt;cricketer type=\"righty\"&gt;\r\n\t\t&lt;name&gt;Shami&lt;\/name&gt;\r\n\t\t&lt;role&gt;Bowler&lt;\/role&gt;\r\n\t\t&lt;position&gt;SquareLeg&lt;\/position&gt;\r\n\t&lt;\/cricketer&gt;\r\n\t&lt;cricketer type=\"lefty\"&gt;\r\n\t\t&lt;name&gt;Zaheer Khan&lt;\/name&gt;\r\n\t\t&lt;role&gt;Bowler&lt;\/role&gt;\r\n\t\t&lt;position&gt;FineLeg&lt;\/position&gt;\r\n\t&lt;\/cricketer&gt;\r\n&lt;\/cricketers&gt;\r\n\r\n<\/pre>\n<p>Now, we will try to find out the ancestor of the <code>&lt;cricketer&gt;<\/code> Node using the <code>ancestor axis<\/code> in XPath. The ancestor axis is represented using the <code>ancestor::<\/code>.<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<p><span style=\"text-decoration: underline\"><em>XpathAncestorDemo.java<\/em><\/span><\/p>\n<pre class=\"brush:java\">\r\n\r\nimport javax.xml.parsers.DocumentBuilder;\r\nimport javax.xml.parsers.DocumentBuilderFactory;\r\nimport javax.xml.xpath.XPath;\r\nimport javax.xml.xpath.XPathConstants;\r\nimport javax.xml.xpath.XPathExpression;\r\nimport javax.xml.xpath.XPathFactory;\r\n\r\nimport org.w3c.dom.Document;\r\nimport org.w3c.dom.Node;\r\n\r\n\r\npublic class XpathAncestorDemo\r\n{\r\n\tpublic static void main(String[] args) throws Exception\r\n\t{\r\n\r\n\t\tDocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();\r\n\t\tdocumentBuilderFactory.setNamespaceAware(true);\r\n\t\tDocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();\r\n\t\tDocument doc = documentBuilder.parse(\"src\/cricketTeam_info.xml\");\r\n\r\n\t\tXPathFactory xpathFactory = XPathFactory.newInstance();\r\n\t\tXPath xpath = xpathFactory.newXPath();\r\n\r\n\t\t\/\/XPath ancestor axis example\r\n\t\tXPathExpression expr = xpath.compile(\"\/\/cricketer\/ancestor::*\");\r\n\t\tNode ancestor = (Node) expr.evaluate(doc, XPathConstants.NODE);\r\n\t\tSystem.out.println(\"The cricketers in the team are: \");\r\n\t\tSystem.out.println(\"The ancestor element is \"+ancestor.getNodeName());\r\n\r\n\t}\r\n}\r\n\r\n<\/pre>\n<p>Output:<\/p>\n<pre class=\"brush:java\">\r\n\r\nThe ancestor element is cricketers\r\n\r\n<\/pre>\n<p>As you can see, the <code>XPathExpression<\/code> returns a <code>Nodelist<\/code> object. This object contains a list of Nodes (i.e. ancestor of current Node, ancestor of ancestor and so on&#8230; ).<\/p>\n<p>We may also choose access the child tags of the ancestor using the <code>ancestor<\/code> axis. Lets&#8217;s take a look at an example:<\/p>\n<pre class=\"brush:java\">\r\n\r\n\/\/Acessing child tags of ancestor\r\nexpr = xpath.compile(\"\/\/ancestor::*\/name\/text()\");\r\nNodeList nodeList = (NodeList) expr.evaluate(doc, XPathConstants.NODESET);\r\nSystem.out.println(\"The name elements are \");\r\nfor(int i = 0; i &lt; nodeList.getLength(); i++)\r\n{\r\n\tSystem.out.println((i+1)+&quot;. &quot;+nodeList.item(i).getNodeValue());\r\n}\r\n\r\n<\/pre>\n<p>Output:<\/p>\n<pre class=\"brush:java\">\r\n\r\nThe name elements are \r\n1. MS Dhoni\r\n2. Shikhar Dhawan\r\n3. Virat Kohli\r\n4. Shami\r\n5. Zaheer Khan\r\n\r\n<\/pre>\n<p>We can access any tag of the ancestor in the same fashion.<\/p>\n<h2>Download the Source Code<\/h2>\n<p>Here, we studied about the <code>Ancestor<\/code> axis in Xpath, and how we can use the same to effectively query the xml document.<\/p>\n<div class=\"download\"><strong>Download<\/strong><br \/> You can download the source code of this example here: <a href=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2015\/04\/XpathAncestorDemo.zip\" rel=\"external nofollow\" title=\"\" class=\"ext-link\"><strong>XpathAncestorDemo.zip<\/strong><\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>In the previous example, we introduced the dependant axis specifier. In this example, we shall talk about the ancestor axis in XPath Expression. The ancestor tag is used to select the ancestor of the current node and the ancestor of the ancestor and so on in context of the current node. We will look at &hellip;<\/p>\n","protected":false},"author":30,"featured_media":1204,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[75],"tags":[],"class_list":["post-22674","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-xpath"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>XPath parent node example - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"In the previous example, we introduced the dependant axis specifier. In this example, we shall talk about the ancestor axis in XPath Expression. The\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"XPath parent node example - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"In the previous example, we introduced the dependant axis specifier. In this example, we shall talk about the ancestor axis in XPath Expression. The\" \/>\n<meta property=\"og:url\" content=\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/\" \/>\n<meta property=\"og:site_name\" content=\"Examples Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2015-04-24T12:00:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Chandan Singh\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Chandan Singh\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/\"},\"author\":{\"name\":\"Chandan Singh\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/86537f90d4f34206febe90a0fbd6cd33\"},\"headline\":\"XPath parent node example\",\"datePublished\":\"2015-04-24T12:00:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/\"},\"wordCount\":215,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg\",\"articleSection\":[\"XPath\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/\",\"name\":\"XPath parent node example - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg\",\"datePublished\":\"2015-04-24T12:00:18+00:00\",\"description\":\"In the previous example, we introduced the dependant axis specifier. In this example, we shall talk about the ancestor axis in XPath Expression. The\",\"breadcrumb\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/#primaryimage\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg\",\"width\":150,\"height\":150,\"caption\":\"Bipartite Graph\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/examples.javacodegeeks.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java Development\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/java-development\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Core Java\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/java-development\/core-java\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"xml\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/java-development\/core-java\/xml\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"XPath\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/java-development\/core-java\/xml\/xpath\/\"},{\"@type\":\"ListItem\",\"position\":6,\"name\":\"XPath parent node example\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#website\",\"url\":\"https:\/\/examples.javacodegeeks.com\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Examples and Code Snippets\",\"publisher\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/examples.javacodegeeks.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\/\/examples.javacodegeeks.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/javacodegeeks\",\"https:\/\/x.com\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/86537f90d4f34206febe90a0fbd6cd33\",\"name\":\"Chandan Singh\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2014\/10\/Chandan-Singh-96x96.jpg\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2014\/10\/Chandan-Singh-96x96.jpg\",\"caption\":\"Chandan Singh\"},\"description\":\"Chandan holds a degree in Computer Engineering and is a passionate software programmer. He has good experience in Java\/J2EE Web-Application development for Banking and E-Commerce Domains.\",\"sameAs\":[\"http:\/\/www.javacodegeeks.com\/\"],\"url\":\"https:\/\/examples.javacodegeeks.com\/author\/chandan-singh\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"XPath parent node example - Java Code Geeks","description":"In the previous example, we introduced the dependant axis specifier. In this example, we shall talk about the ancestor axis in XPath Expression. The","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:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/","og_locale":"en_US","og_type":"article","og_title":"XPath parent node example - Java Code Geeks","og_description":"In the previous example, we introduced the dependant axis specifier. In this example, we shall talk about the ancestor axis in XPath Expression. The","og_url":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/","og_site_name":"Examples Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2015-04-24T12:00:18+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg","type":"image\/jpeg"}],"author":"Chandan Singh","twitter_card":"summary_large_image","twitter_creator":"@javacodegeeks","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Chandan Singh","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/#article","isPartOf":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/"},"author":{"name":"Chandan Singh","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/86537f90d4f34206febe90a0fbd6cd33"},"headline":"XPath parent node example","datePublished":"2015-04-24T12:00:18+00:00","mainEntityOfPage":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/"},"wordCount":215,"commentCount":0,"publisher":{"@id":"https:\/\/examples.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/#primaryimage"},"thumbnailUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg","articleSection":["XPath"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/","url":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/","name":"XPath parent node example - Java Code Geeks","isPartOf":{"@id":"https:\/\/examples.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/#primaryimage"},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/#primaryimage"},"thumbnailUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg","datePublished":"2015-04-24T12:00:18+00:00","description":"In the previous example, we introduced the dependant axis specifier. In this example, we shall talk about the ancestor axis in XPath Expression. The","breadcrumb":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/#primaryimage","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg","width":150,"height":150,"caption":"Bipartite Graph"},{"@type":"BreadcrumbList","@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/xpath\/xpath-parent-node-example\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/examples.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Java Development","item":"https:\/\/examples.javacodegeeks.com\/category\/java-development\/"},{"@type":"ListItem","position":3,"name":"Core Java","item":"https:\/\/examples.javacodegeeks.com\/category\/java-development\/core-java\/"},{"@type":"ListItem","position":4,"name":"xml","item":"https:\/\/examples.javacodegeeks.com\/category\/java-development\/core-java\/xml\/"},{"@type":"ListItem","position":5,"name":"XPath","item":"https:\/\/examples.javacodegeeks.com\/category\/java-development\/core-java\/xml\/xpath\/"},{"@type":"ListItem","position":6,"name":"XPath parent node example"}]},{"@type":"WebSite","@id":"https:\/\/examples.javacodegeeks.com\/#website","url":"https:\/\/examples.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Examples and Code Snippets","publisher":{"@id":"https:\/\/examples.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/examples.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/examples.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/examples.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/86537f90d4f34206febe90a0fbd6cd33","name":"Chandan Singh","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2014\/10\/Chandan-Singh-96x96.jpg","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2014\/10\/Chandan-Singh-96x96.jpg","caption":"Chandan Singh"},"description":"Chandan holds a degree in Computer Engineering and is a passionate software programmer. He has good experience in Java\/J2EE Web-Application development for Banking and E-Commerce Domains.","sameAs":["http:\/\/www.javacodegeeks.com\/"],"url":"https:\/\/examples.javacodegeeks.com\/author\/chandan-singh\/"}]}},"_links":{"self":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/22674","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/users\/30"}],"replies":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=22674"}],"version-history":[{"count":0,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/22674\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/media\/1204"}],"wp:attachment":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=22674"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=22674"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=22674"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}