Невозможно сопоставить точные символы "&" "<" ">", используя кодировку xpath - PullRequest
1 голос
/ 04 апреля 2019

Я должен найти точные символы &, < и >, присутствующие в теге комментария XML:

<!--Q1: find & < > symbols--> ..

Я использовал код //comment()[matches(.,'[\&|\<|\>]')], и он не работает.. не используйте шестнадцатеричное значение, чтобы найти этот сценарий.

Ответы [ 2 ]

0 голосов
/ 05 апреля 2019

Я думаю, что моя точка зрения не была правильно передана в предыдущих утверждениях. Я должен преобразовать файлы XML UTF8 в файлы именованных сущностей XML.UtF8 xml будет иметь эти символы как в формате & <>.Однако после преобразования именованный объект XML-файл будет иметь эти символы, как в формате & amp;& lt;& gt ;.Я должен использовать два разных условия xpath в обоих файлах XML. В именованном объекте XML достаточно найти код xpath //comment()[matches(.,'[& amp; & lt; & gt;] ')]& символ в любом формате, например & amp ;, & x38;(& будет автоматически преобразован как & amp; символ & & в файле XML) в файле XML. Предположим, что если пользователь неправильно ввел символ utf8 "&" в именованный файл сущностей во время исправления, это означает, что мне нужно только найти и выделить "&"не" & amp; "," &: ".. надеюсь, это ясно

0 голосов
/ 04 апреля 2019

Если вы используете xslt, сам код кодируется в XML.Поэтому вам нужно правильно экранировать символы:

//comment()[matches(.,'[&amp;&lt;&gt;]')]

В большинстве других языков экранирование не требуется вообще

//comment()[matches(.,'[&<>]')]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...