У меня есть XPath, чтобы выбрать класс, который я хочу: //div[@class='myclass']
. Но она возвращает мне все DIV (с <div class='myclass'>
также, но я хотел бы вернуться только содержимое этого тега без самого тега. Как я могу это сделать?Как получить значение узла/innerHTML с помощью XPath?
ответ
С помощью xpath вещь, которую вы получите, является последней вещью на пути, которая не является условием. Что это значит? Ну, условия - это материал между []
(но вы уже это знали), а ваш читает как pathElement [, который имеет атрибут 'class' со значением 'my class']. hElement поставляется непосредственно перед [
.
Весь материал за пределами []
-х, тогда это путь, так что в //a/b/c[@blah='bleh']/d
, б, с и д все элементы пути, бла является атрибутом и BLEH буквальное значение. Если этот путь соответствует этому, он вернет вам d, последний несобственный предмет.
Ваш конкретный путь возвращает (серия) div, являясь последним вещью в пути вашего xpath. Таким образом, это возвращаемое значение включает в себя узел (и) верхнего уровня, div в вашем случае, а под ним (их) все его дети. Узлами могут быть элементы или текст (или комментарии, инструкции по обработке, ...).
Под узлом могут быть несколько текстовых узлов, поэтому обсуждается массив pOcHa. x/text()
возвращает весь текст, являющийся прямым дочерним элементом x, x/node()
возвращает все дочерние узлы, включая текст.
Надеюсь, это поможет.
node() = innerXml
text() = innerText
как массивы, так текст () [1] - первый текстовый узел для детей ...
Вы можете попробовать
// DIV [@ класс = 'MyClass']/ребенка :: *
ребенок :: * выбирает все элементы, являющиеся детьми контекстного узла see details
Новый ответ на старый, часто задаваемый вопрос:
Для этого XML
<div class="myclass">content</div>
вы можете использовать XPath для выбора в одном из двух способов просто content
:
Выбор текстового узла
Это XPath,
//div[@class='myclass']/text()
выберет дочерние узлы текстового узла целевого
div
,content
, в соответствии с запросом.String Значение элемента
Это XPath,
string(//div[@class='myclass'])
возвратит string-value из целевого
div
элемента,content
, опять же, как просили.Дополнительная информация: Вот note объяснения строковых значений элементов:
string-value узла элемента является конкатенация string-value с всего текстового узла descendants элемента узел в заказе документа.
- 1. Как получить значение onclick с помощью xpath?
- 2. Как получить значение xml с помощью xpath?
- 3. Получить значение атрибута с помощью XPath
- 4. Получить значение заголовка с помощью XPATH
- 5. Невозможно получить значение узла с помощью XPATH
- 6. Получить значение из XML с помощью XPath
- 7. Найти значение с помощью Xpath
- 8. Как установить пустое значение с помощью XPath?
- 9. Как сравнить значение с помощью xpath?
- 10. Xpath Как получить значение с узла выше
- 11. Как получить значение атрибута из узла с помощью xpath?
- 12. Как получить значение xpath с помощью python текущего экземпляра?
- 13. Как получить «значение» с помощью xpath и поместить в массив?
- 14. Как получить атомное значение между узлами элементов с помощью XPath
- 15. Как получить значение атрибута узла XML с помощью XPath
- 16. Как получить значение атрибута с помощью XPath и Saxon
- 17. Как получить значение атрибута узла в xml с помощью xpath?
- 18. Как получить значение внутри определенной ячейки таблицы с помощью XPath
- 19. Как получить значение из xml напрямую (желательно с помощью XPath)?
- 20. Как получить значение цвета CSS с помощью Xpath?
- 21. Как получить значение с помощью XPath и используя параметр?
- 22. Как получить значение элемента из xml с помощью xpath?
- 23. Получить HREF с помощью XPath
- 24. Как получить subsubchild с помощью XPath?
- 25. Как выбрать значение с помощью Xpath
- 26. Получить атрибут с помощью XPath
- 27. получить значение по Xpath
- 28. Как получить значение с помощью DOM HTML
- 29. Xpath Получить значение текущего узла
- 30. Как получить узлы с помощью XPath
Как будет выглядеть несколько текстовых узлов в XML? Будет ли text() возвращать конкатенацию всех внутренних тегов, которые являются дочерними элементами выбранного узла? – CoDEmanX
@CoDEmanX: '