【问题标题】:Chrome extension that parses certain text from xml从 xml 解析某些文本的 Chrome 扩展
【发布时间】:2020-08-23 18:45:56
【问题描述】:
我有一个 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 ]]>
【问题讨论】:
标签:
javascript
xml
dom
xpath
google-chrome-extension
【解决方案1】:
使用 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。