Chrome расширение, которое анализирует определенный текст из xml - PullRequest
0 голосов
/ 08 мая 2020

У меня есть chrome расширения, которые открывают xml веб-сайта, но мне нужно, чтобы он анализировал определенный текст из этого XML, для которого установлено значение «1». Я пробовал использовать xPath, но не смог разобраться. Пример здесь:

<option value="1">
  <text>
     <![CDATA[
      NEED THIS PARSED
      ]]>
  </text>
<feedback/>
</option>
<option value="0">
  <text>
    <![CDATA[ DONT NEED THIS PARSED ]]>

1 Ответ

1 голос
/ 08 мая 2020

Превращение его в документ с помощью DOMParser позволяет использовать такие методы, как querySelector и querySelectorAll, что может быть проще:

const text = `<option value="1">
  <text>
     <![CDATA[
      NEED THIS PARSED
      ]]>
  </text>
<feedback/>
</option>
<option value="0">
  <text>
    <![CDATA[ DONT NEED THIS PARSED ]]>`;
const doc = new DOMParser().parseFromString(text, 'text/xml');
const textElm = doc.querySelector('option[value="1"] text');
const content = textElm.textContent;
console.log(content);

Строка запроса

option[value="1"] text

означает: выберите элемент text, который является потомком элемента option, имеющего value атрибут 1.

...