У меня проблемы при реализации логики xpath.Я пытаюсь выполнить синтаксический анализ, если я получу свой результат, как показано в примере ниже:
//html:h1/span[1]
Я хочу поставить :html
перед этой строкой всякий раз, когда возникает прямоугольная скобка, как показано ниже, как ожидаемый результат:
//html:h1/html:span[1]
Если мой пример:
//html:h1/span/div
Здесь Прямоугольная скобка отсутствует, поэтому я хочу сделать строку такой, какая она есть.
Вот еще один пример:
//html:div/span[5]/div/span
Я хочу получить ожидаемый результат, как показано в примере ниже:
//html:div/html:span[5]/div/span
Я уже пробовал поиск в Google и синтаксический анализ с помощью регулярных выражений, но не смог найти решение для точного соответствия.
РЕДАКТИРОВАНИЕ:
Просто чтобы очистить, это не просто тег span
.Это может быть что-то вроде a
, p
или других html-тегов
Некоторые сценарии:
//html:div[@id='ins_storybody']/p[2]
Ожидаемый результат должен быть:
//html:div[@id='ins_storybody']/html:p[2]
Вот еще один сценарий:
//html:div[@id='ins_storybody']/p[2]/div/span/li[@id='ins_storybody']
Ожидаемый результат:
//html:div[@id='ins_storybody']/html:p[2]/div/span/li[@id='ins_storybody']
Iвыяснил способ, которым можно было бы использовать regex: match(/\[.@?\]/g)
, но не смог получить прикрепленную строку с прямоугольной скобкой, чтобы я мог ее заменить.Есть предложения?