Учитывая структуру XML, например, так:
<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book>
<title lang="eng">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>
Как я могу получить значение lang
(где lang
находится eng
в названии книги), для первого элемента?
Ответы:
Используйте :
Это значит :
Выберите
lang
атрибут элемента title, который является дочерним по отношению к первомуbook
дочернему элементу верхнего элемента XML-документа.Чтобы получить только строковое значение этого атрибута, используйте стандартную функцию XPath
string()
:источник
lang
атрибута. Если атрибут не содержит квадратных скобок, они не будут частью результата вычисления выражения XPath. Я предполагаю, что они добавляются (неподходящим) инструментом, который вы используете./*/book[1]/title/@lang
выбирает набор узлов из 0 или более узлов атрибутов, в то время как выражение XPathstring(/*/book[1]/title/@lang)
при оценке выдает строковое значение этого набора узлов - и это строковое значение первого (в порядке документа) узел из этого набора узлов.lang="eng"
является лишь одним из многих текстовых представлений узла атрибута, который имеет имя «lang», не принадлежит пространству имен и имеет строковое значение в виде строки «eng»Спасибо! Это решило аналогичную проблему с атрибутом данных внутри Div.
Используйте этот xpath:
//*[@id="prop_sample"]/@data-want
Надеюсь, это поможет кому-то еще!
источник
Вы можете попробовать ниже шаблон xPath,
источник
Вы также можете получить его по
хотя, если вы используете XMLDOM с JavaScript, вы можете написать что-то вроде
и
n1.text
даст вам значение"eng"
источник
ты можешь использовать:
это означает, что вы получаете все атрибуты узлов с именем, равным «lang», и получаете первый.
источник
Вот фрагмент получения значения атрибута "lang" с XPath и VTD-XML.
источник
Если вы используете PostgreSQL, это верный способ получить его. Это всего лишь предположение, когда у вас есть столбец TITLE и PRICE таблицы книг с заполненными данными. Вот запрос
источник