Skip to main content

XPATH and XPATH Expressions In XMLLINT


XPATH And XPATH Expressions


Earlier, I told you about xmllint and xmllint for html files.  Let's say you just want to parse the <span> tags within your html file or just your <span lang="el"> tags?

Enter:  Xpath.

Xpath is yet another option available within the xmllint language. Remember, an Xpath is used to navigate through elements and attributes in xml and html documents.  Xpath uses Xpath Expressions to select nodes or node sets within a document.

Example 1.  Looking for all of the <span> tags within an html document.

xmllint --html --xpath "//span" StedmanLesson10.html

xmllint = This tells the command line that we are going to be using the xmllint language.

space = because we always have space in between commands

-- = Remember, these are the two hyphen-minus characters that we need to tell the command line that we are going to use an xmllint option.

html = This is the xmllint option we want to use because our file is an html file. 

space

-- = We are using yet another option, so we need these before the next option we are using.

xpath = Xpath is the other xmllint option we are going to use.  Why?  Because we want to write an xpath expression that tells the command line that we ONLY want ALL of the span tags (<span>) within this document.   So we must first tell the command line that we are going to write an xpath expression. 

xpath expression --->      The expression will be contained in quotation marks ("").  

// = These double slashes mean ALL.  We want ALL of the span tags, so we need to type this first.  

span = this is the name of the tag that we want to parse

space

StedmanLesson10.html = The name of the file you want to parse goes here. 

See the picture below to see what this command looks like once executed: 


Notice the command on the first line........you see the xmllint language followed by the html option, then the xpath option. Then the xpath expression is given followed by the html file name.  Everything under that line is what the xmllint parsed.  It returned ONLY the <span> tags (including the span tags with attributes) within the StedmanLesson10.html file. 

Pretty cool huh?

Now, what if we want the xmllint to be more defined?  What if we just want the span tags with the lang attribute that has a value of "el"?  Then we would type the command like this: 

xmllint --html --xpath "//span[@lang='el']" StedmanLesson10.html


As you can see, the attribute for the span tag is typed within square brackets and begins with the @ character.  The value of that attribute, "el" is placed within SINGLE quotes.  Then you have your closing square bracket and closing quotation mark.

When I give this command, it returns the following:


As you can see, only the <span lang="el"> tags have been parsed within this document.

This is just one example of how you can get really defined with xmllint for html using xpath expressions.  


 Follow me as I learn to build my website bit by bit!    IronTreeDev.com


Photo by Caleb Jones on Unsplash

Comments

Popular posts from this blog

Back To The Basics

Click photo above to see photo clearly  It's Been A LOOONG Minute since I have coded!!   Even so, I decided to give JavaScript another try.  I always seem to do good and then when I get to this one area, I always seem to hit a brick wall.  Well....nothing like getting back up and trying again right?   I decided to try Rithm School's online JavaScript Fundamentals FREE course .  I have never joined their school but their free courses tend to explain things in a way my brain understands it.  💁 To let you know how much I have forgotten in the coding world, I couldn't even remember how to write the basic commands for an HTML document! Yesterday I started the fundamentals free course and I am so glad that I did.  Because of time, I only made it through the JavaScript History and Setup chapter, but that chapter was enough to get my memory flowing again!   It started to feel familiar and I quickly remembered why I enjoyed coding so much.  Yesterday and this morning, I just erased

GIT Commands: Pull, Add, Commit, Push.....and sometimes Revert

Pull, Add, Commit, Push ...... then Repeat We talked about GIT, GIT Hub , and the three different areas GIT works in.  Now it is time to talk about some of the most used GIT commands.   I am currently working with a team on a project called Stedman.  We are all using the GIT Hub server to track our work as we make changes to the files within the Stedman project.   Many changes can be made by other members of the team, from the time I sign off to the time I sign back on.  How do I get the changes they made to a file I need to work on, onto my computer? ENTER GIT COMMANDS : 1.  The first thing I do is goto my command window on my computer and navigate to the directory where the file I want to work in is located (this will be a directory that is being tracked by GIT).   *If you need a quick refresher:  cd file_name   will take you through each of your directories until you reach your desired location.  Issuing an  ls   command will list the files (sub-di