python/xpath question..

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • bruce

    python/xpath question..

    morning....

    i apologize up front as this is really more of an xpath question..

    in my python, i'm using the xpath function to iterate/parse some html. i can
    do something like

    s=d.xpath("//tr/td/text()")
    count=len(s)

    and get the number of nodes that have text

    i can then do something like
    s=d.xpath("//tr/td")
    count2=len(s)

    and get the number of total nodes...
    by subtracting, i can get the number of nodes, without text.. is there an
    easier way??!!
    count2-count

    ie, if i have something like
    <tr>
    <td></td>
    <td>foo</td>
    </tr>

    is there a way to get the count that there is a single "td" node with
    text()=""

    thanks


  • Stefan Behnel

    #2
    Re: python/xpath question..

    Hi,

    you should really read about XPath. There are also newsgroups specifically for
    this topic, please use them.


    bruce wrote:
    in my python, i'm using the xpath function to iterate/parse some html. i can
    do something like
    >
    s=d.xpath("//tr/td/text()")
    count=len(s)
    >
    and get the number of nodes that have text
    That is a wrong assumption. It will give you the number of text nodes, not the
    number of elements. They may or may not be the same.

    i can then do something like
    s=d.xpath("//tr/td")
    count2=len(s)
    >
    and get the number of total nodes...
    by subtracting, i can get the number of nodes, without text.. is there an
    easier way??!!
    Yes, learn to use XPath, e.g.

    //tr/td[not string()]

    Stefan

    Comment

    • Stefan Behnel

      #3
      Re: python/xpath question..

      Stefan Behnel wrote:
      Yes, learn to use XPath, e.g.
      >
      //tr/td[not string()]
      Oh, well...

      //tr/td[not(string())]

      as I said, wrong news group. ;-)

      Try something like "gmane.text.xml .xpath.general" , for example.

      Stefan

      Comment

      Working...