2014-10-23 3 views
-1

У меня есть форма, пользователь заполнить с тегами, как это:Выберите строку

<messageCode>Tag Value 1</messageCode> 
<messageVersion>Tag Value 2</messageVersion> 

И хотел бы знать, если есть способ в JavaScript, чтобы найти следующие строки:

String 1 = <messsageCode> 
String 2 = Tag Value 1? 

Я должен использовать индекс?

+0

Какой язык? JS? –

+0

Если вы пытаетесь разобрать XML, то, скорее, используйте синтаксический анализатор XML вместо того, чтобы обманывать его, рассматривая его как строку. См. 'DOMParser'. –

+0

Помог ли вам любой из этих ответов? Если да, примите. –

ответ

-1
var str = "Hello world, welcome to the universe."; 
var n = str.indexOf("welcome"); 

это сообщит вам только о начале приветствия. Вы хотите получить значение?

var str = "tag attr = tag value"; 
var n = str.indexOf("="); 
var res = str.substring(n,); 
+0

Да, я хочу получить значение. –

+0

Кто это сделал, Соблюдайте. Почему нисходящий? – Billy

0

Если вы настаиваете на разбор XML с регулярными выражениями и строковыми функциями, то

input.match(/<(.*?)>(.*)<\/\1>/) 

возвращает массив, чей [1] элемент является тэгом и [2] элемента содержимого.

Вместо этого вы должны использовать DOMParser для надежного анализа ввода и использования функций DOM для навигации по результату.

+0

Не могли бы вы объяснить, как работает DOMParser? –

+0

Возможно, это не так, как на всех веб-страницах, например https://developer.mozilla.org/en-US/docs/Web/API/DOMParser. Вы создаете парсер, а затем вызываете его метод 'parseFromString' в строке. Затем вы перемещаете результат, используя все методы DOM, которые вы знаете и любите. –

Смежные вопросы