Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7723225
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 1, 20262026-06-01T04:23:21+00:00 2026-06-01T04:23:21+00:00

i am not able to see where i am going wrong with my xpath

  • 0

i am not able to see where i am going wrong with my xpath logic.

here is a section of a larger xml that i am working on transversing. (note im using the Html Agility Pack)

<div> 
    <div></div>
    <span class="pp-headline-item pp-headline-phone"> 
        <span class="telephone" dir="ltr"> 
            <nobr>(732) 562-1312</nobr> 
            <span class="pp-headline-phone-label" style="display:none">()</span>
        </span>&#8206;
    </span>  
    <span> &middot; </span> 
    <span class="pp-headline-item pp-headline-authority-page"> 
        <span>
            <a href="http://maps.google.com/local_url?q=http://www.fed.com/q=07746+pizza">
                <span>fed.com</span>
            </a>
        </span> 
    </span>  
</div>

my goal is to extract various data points from these chunks of xml that i get out of the master XML file by using a

.SelectNodes("//div/span['pp-headline-item pp-headline-phone']/../..")

with this i am expecting to get all the sections outlined above so i can iterate them and extract things like website, phone, address…

problem is when i iterate this nodeset i cant get to the data points i want as if the node set is not the one outlined on top.

my logic is to extract a nodeset from the top most div into the nodset and when iterating them to xpath into the data points i want.

i do it like this:

foreach (HtmlNode n in BuizRowsgoogMaps)
                {                    
                    //get phone number
                    if (n.SelectSingleNode("span/nobr").InnerHtml != null)
                    {
                        strPhone = n.SelectSingleNode("span/nobr").InnerHtml;

                        //get phone site
                        strSite = n.SelectSingleNode("//span['pp-headline-item pp-headline-authority-page']/span/a/span").InnerHtml;
                     }
                }

i suspect my xpaths dont mesh together to get what i want but when i validate my expression i get the desired results… i used this to validate my thinking and it works leaving me at wits end:

//div/span['pp-headline-item pp-headline-phone']/../../span['pp-headline-item pp-headline-phone']/span/nobr
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-01T04:23:23+00:00Added an answer on June 1, 2026 at 4:23 am

    Your code is almost right, you just need to modify your xpath a bit.

    foreach (HtmlNode n in BuizRowsgoogMaps)
    {
      //get phone number
      if (n.SelectSingleNode(".//span/nobr").InnerHtml != null)
      {
        strPhone = n.SelectSingleNode(".//span/nobr").InnerHtml;
    
        //get phone site
        strSite = n.SelectSingleNode(".//span['pp-headline-item pp-headline-authority-page']/span/a/span").InnerHtml;
      }
    }
    

    The .// tells xpath to match from the current node and not from the root.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I hope somebody may be able to point out where i'm going wrong here
I was not able to reference a specific class method using the doxygen @see
Im not able to load the page with circlepageindicator. This is the xml <FrameLayout
I am not able to flush stdin here, is there a way to flush
I am not able to access localhost https pages in firefox3. It gave the
I am not able to use the breakpoint in Studio with Javascript. I'm able
Why are we not able to override an instance variable of a super class
I am not able to figure out this simple thing in ASP.NET MVC: I
My issue is not able to render the chart in .tpl file. The following
I am not able to make a clear decision on this one. I am

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.