XMLstarlet не находит элементы в XML-файле [duplicate]

Расширение MySQL:

  • Не находится в активной разработке
  • Официально устарела с PHP 5.5 (выпущена в июне 2013 г.).
  • Полностью удален с PHP 7.0 (выпущен в декабре 2015 года). Это означает, что с 31 декабря 2018 года он не будет существовать ни в одной поддерживаемой версии PHP. В настоящее время он получает обновления security .
  • Недостаток интерфейса OO
  • Не поддерживает: неблокирующие, асинхронные запросы Подготовленные операторы или параметризованные запросы Хранимые процедуры Несколько операторов транзакций «Новые», метод аутентификации пароля (по умолчанию в MySQL 5.6, требуется в 5.7). Все функциональные возможности в MySQL 5.1

Поскольку он устарел, использование его делает ваш код менее надежным.

Недостаточная поддержка подготовленных операторов особенно важна, поскольку они обеспечивают более четкий, менее подверженный ошибкам метод экранирования и цитирования внешних данных, чем ручное экранирование с помощью отдельного вызова функции.

См. сравнение расширений SQL .

1
задан ssk2 30 April 2013 в 19:38
поделиться

1 ответ

Вам необходимо определить и использовать префикс пространства имен для http://earth.google.com/kml/2.2 test.kml - что-то вроде этого:

xmlstarlet sel -t -c "//kml:coordinates/text()" -N kml=http://earth.google.com/kml/2.2 test.kml

XPaths не имеют пространства имен по умолчанию - если имя в XPath не указывает пространство имен префикс предполагается, что он находится в пустом пространстве имен; поэтому необходимо всегда указывать префикс пространства имен при попытке сопоставить узлы, имена которых находятся в пространстве имен, отличном от нулевого (как в данном случае).

4
ответ дан geocodezip 28 August 2018 в 02:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: