У меня есть документ XHTML, и я хочу выбрать в нем единственную таблицу с классом = "index".Выбор конкретной таблицы с XPath
Если я правильно понимаю, ось потомка выберет все узлы, которые прямо и косвенно будут спускаться с текущего узла, так что вот что у меня есть.
//descendant::table[@class="index"]
Он, похоже, не работает при тестировании с помощью xmlstarlet. Является ли мой инструмент сломанным, или выражение XPath неверно?
Если вы размещаете ввод образца, мы могли бы знать наверняка, является ли сломанный инструмент. (Например, возможно, вам нужно использовать префикс пространства имен.) Одна быстрая заметка // // потомок :: избыточна. В этом случае используйте либо/devcendant :: table (только одну косую черту), либо просто // таблицу. «//» является сокращением для «/ descendant-or-self :: node() /» –
metacritic.com/film/highscores.shtml является одним из таких примеров, но его нужно пройти через Tidy и некоторые другие настройки, прежде чем XSLT готов. – jldugger
Учетные записи включают добавление объявления пространства имен XHTML? В XPath вы должны объявить пространство имен (и использовать префикс в своем выражении), если вы хотите выбрать узлы по имени, которые используют пространство имен. –