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

  • Home
  • SEARCH
  • 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 797981
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 14, 20262026-05-14T22:53:49+00:00 2026-05-14T22:53:49+00:00

Similar question from last night, I don’t have access to edit the source HTML

  • 0

Similar question from last night, I don’t have access to edit the source HTML and I am attempting to parse a lot of data from a website to do product price/comparisons against. For the most part, it’s working but I am now trying to make it more efficient, faster and easier to read my spaghetti code.

I have the following test code; and what I am wanting to do is only return the attribute for content (e.g. thisiswhatiwant) if the nodeValue for productType is Stocked and nothing else.

<div id="productListing">

<div class="productDetail">
    <span class="productType">Stocked</span>: <span class="productStock"><span class='productContent' content='thisiswhatiwant'></span></span>
</div>

<div class="productDetail">
    <span class="productType">Non-stocked</span>: <span class="productStock"><span class='productContent' content='xyz'></span></span>
</div>

…

<div class="productDetail">
    <span class="productType">Non-stocked</span>: <span class="productStock"><span class='productContent' content='123'></span></span>
</div>

</div>

This is the Xpath query I have such far, but I am either missing something vital or something in my brain just hasn’t clicked into gear yet.

//div[@id="productListing"]/div[@class="productDetail"]/span[@class="productStock"]/preceding-sibling::span[text()="Stocked"]

Basically, what I want to output from the above test code is:

<?
echo "Output: " . $dom->getAttribute('content');
?>

Output: thisiswhatiwant

Anyone got any ideas?

  • 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-05-14T22:53:50+00:00Added an answer on May 14, 2026 at 10:53 pm

    Assumig that $dom is the DomDocument object created from the given XML string:

    $xpath = new DOMXPath($dom);
    $q = '//span[@class="productType" and text()="Stocked"]/ancestor::*[@class="productDetail"]/span[@class="productStock"]/span[@class="productContent"]';
    $res = $xpath->query($q);
    foreach($res as $node) {
        echo $node->getAttribute('content') . PHP_EOL;
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

This is similar to my last question; but from a different angle. See if
Different from this question , but similar in that I don't get an error
Hi there i have a similar question to the question posed at Move from
I found another similar question: Best way to download images from XML content in
Similar to my question about returning from inside a using statement (whose answer was
This is similar to (but different from) this question . Here is some simple
(Similar in spirit to but different in practice from this question .) Is there
From the Question above, I've made a simple windows app similar to MSN and
I've tried to put together a solution from similar questions but have failed miserably.
Following on from my last question here OpenXML looks like it probably does exactly

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.