首页 > 解决方案 > 从 xml 解析某些文本的 Chrome 扩展

问题描述

我有一个 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 ]]>

标签: javascriptxmldomxpathgoogle-chrome-extension

解决方案


使用 DOMParser 将其转换为文档允许您使用类似querySelectorand的方法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的后代。optionvalue1


推荐阅读