Как получить обычный текст с помощью Xpath

#xml #bash #shell #perl #xpath

#HTML #xpath

Вопрос:

Привет, я получил этот фрагмент html, и я хочу получить из него текстовые элементы

 <span id="product_description" itemprop="description" class="">
    <h1>Toltec Lighting 216-BRZ-508 Leaf Collection Traditional Potrack With Italian Marble Glass In Bronze</h1>
    <br class="">
    <span style="font-weight: bold;" class="">MANUFACTURE: </span>
    Toltec Lighting
    <br class=" xh-highlight">
    <span style="font-weight: bold;" class="">COLLECTION: </span>
    Leaf
    <br class=" xh-highlight">
</span>
  

Я хочу получить список значений. В этом случае это будут «Toltec Lighting» и «Leaf»

Ответ №1:

Вы можете попробовать это :

 //span[@id='product_description']/text()
  

или, если вам также нужно убедиться, что не выбраны пустые текстовые узлы :

 //span[@id='product_description']/text()[normalize-space()]
  

Комментарии:

1. Я хотел бы также включить текстовое значение. как я мог этого добиться? Работает ли ниже один? //span[@id=’product_description’]/text()[‘КОЛЛЕКЦИЯ: ‘]

Ответ №2:

Вы можете попробовать использовать это:

 //*[text()='Toltec Lighting']