XML Инструменты в Notepad ++: рассчитывать на xPath недоступно? - PullRequest
0 голосов
/ 29 марта 2020

Я пытаюсь оценить количество выражений xPath в Notepad ++, используя XML Инструменты. К сожалению, я получаю сообщение об ошибке с помощью плагина «Ошибка: ошибка в выражении XPath».

Снимок экрана: enter image description here

Пример данных / файла:

<?xml version="1.0"?>
<catalog>
    <book id="bk101">
        <author>Gambardella, Matthew</author>
        <title>XML Developer's Guide</title>
        <genre>Computer</genre>
        <price>44.95</price>
        <publish_date>2000-10-01</publish_date>
        <description>An in-depth look at creating applications 
      with XML.</description>
    </book>
    <book id="bk102">
        <author>Ralls, Kim</author>
        <title>Midnight Rain</title>
        <genre>Fantasy</genre>
        <price>5.95</price>
        <publish_date>2000-12-16</publish_date>
        <description>A former architect battles corporate zombies, 
      an evil sorceress, and her own childhood to become queen 
      of the world.</description>
    </book>
    <book id="bk103">
        <author>Corets, Eva</author>
        <title>Maeve Ascendant</title>
        <genre>Fantasy</genre>
        <price>5.95</price>
        <publish_date>2000-11-17</publish_date>
        <description>After the collapse of a nanotechnology 
      society in England, the young survivors lay the 
      foundation for a new society.</description>
    </book>
</catalog>

Цель - подсчитать количество книг. Есть идеи, почему мое выражение не работает? Count () не поддерживается? Спасибо за понимание!

Примечание: я знаю, что для этого простого случая можно было бы просто использовать функцию поиска / подсчета. Но я намерен использовать функцию count () для более сложных выражений xPath.

Ответы [ 2 ]

0 голосов
/ 29 марта 2020

То же самое здесь. Плагин предназначен для сборки узлов, а не строк. Функция подсчета поддерживается (//book[count(./*)>2], но вы не можете использовать ее для возврата значения.

Возможное решение: используйте функцию подсчета на панели поиска с активированной опцией регулярного выражения.

Например, :

(?<=Midnight Rain</title>\r\n.{8}).\<genre>

Подсчитывает количество элементов жанра после указанного c заголовка.

0 голосов
/ 29 марта 2020

Я использую последнюю версию Notepad ++ v.7.8.5 64-bit и последнюю версию плагина XML Tools 3.0.3.4. Я получаю такую ​​же ошибку, как ваша.

Похоже, ошибка в плагине.

...