DOMParser可以将存储在字符串中的XML或HTML源解析为DOM Document。
我正在尝试将扩展名从 MV2 切换到 MV3,但我被困在使用 Offscreen 文档的 DOMParser 上 服务工作者: *const OFFSCREEN_DOCUMENT_PATH =“/background/offscreen.html”...
如何从中获取文档对象? var xmlobject = (new DOMParser()).parseFromString(xmlstring, "text/xml");
我有一个使用 DOMParser 解析 XML 的方法,如下所示: this.parseXmlString = 函数(xmlDocStr) { var xmlDoc; var parser= new window.DOMParser(); xmlDoc = parser.parseFromSt...
我正在尝试确定将从 Web 服务调用获得的 XML 响应解析为 Java 对象的最佳方法。 使用 JAXB 似乎是最简单的方法,但我得到的每个示例都需要......
我想操作一个html字符串,在vanillaJS中我会这样做: 让 HTMLString = '你好 ...</desc> <question vote="8"> <p>我想操作一个 html 字符串,在 vanillaJS 中我会这样做:</p> <pre><code> let HTMLString = '<p>hello</p> <style> p{ color:black } <p>world</p> ' const parser = new DOMParser(); const doc = parser.parseFromString(HTMLString, "text/html"); doc.querySelectorAll('style').forEach(item => item.remove()) </code></pre> <p>这也适用于react,但我相信自从下一次编译服务器端后它只会抛出<pre><code>DOMParser is not defined</code></pre>,我尝试过像<pre><code>html-react-parser</code></pre>这样的包,它们只是将html解析为react元素并提供非常有限的功能,之后,我的最后一个度假村为此使用正则表达式,但我认为这不是一个好主意。</p> <p>任何帮助都会很好,谢谢</p> </question> <answer tick="false" vote="8"> <p>您可以尝试我在 next.js 项目中出于类似原因使用的 node-html-parser 组件: <a href="https://www.npmjs.com/package/node-html-parser" rel="noreferrer">https://www.npmjs.com/package/node-html-parser</a></p> <p>这个想法是在 getStaticProps() 函数的服务器端使用它,如下所示:</p> <pre><code>import { parse } from 'node-html-parser'; const root = parse('<ul id="list"><li>Hello World</li></ul>'); console.log(root.querySelector('#list')); </code></pre> <p>正如你所看到的,你可以使用标准 ES6 查询选择器遍历这个虚拟生成的 dom,而且还有更多选项,所以我发现这个非常强大。</p> </answer> <answer tick="false" vote="0"> <p><strong>Cheerio</strong> 似乎是另一个流行的选择:<a href="https://github.com/cheeriojs/cheerio" rel="nofollow noreferrer">https://github.com/cheeriojs/cheerio</a></p> <p>如其自述文件所示:</p> <pre><code>import * as cheerio from 'cheerio'; const $ = cheerio.load('<h2 class="title">Hello world</h2>'); $('h2.title').text('Hello there!'); $('h2').addClass('welcome'); $.html(); //=> <html><head></head><body><h2 class="title welcome">Hello there!</h2></body></html> </code></pre> </answer> </body></html>
类型错误:无法读取未定义的 NodeJS dom 解析器的属性“readFileSync”
尝试将 Dom-Parser 与 Discord.js 一起使用。无法从其他地方找到帮助。 第 15 行 fs.readFile 出错 我在让 fs 工作时也遇到了很多问题。首先它没有被定义,然后它就不能......
我在 中有一些 标签,如下所示: 一个 两个 我在<li>内有一些<div>标签,如下所示: <li> <a href="link1"> one <li> <li> <a href="link2"> two <li> <li> <a href="link3"> three <li> 如何使用 HTML DOM 解析器获取文本 two,然后将其放入数组中以供稍后使用? 您需要确保 a 标签已关闭,然后您可以这样做: <?php $html = '<li> <a href="link1"> one </a> <li> <li> <a href="link2"> two </a> <li> <li> <a href="link3"> three </a> <li> '; // Create a new DOM Document $xml = new DOMDocument(); // Load the html contents into the DOM $xml->loadHTML($html); // Empty array to hold all links to return $result = array(); //Loop through each <li> tag in the dom foreach($xml->getElementsByTagName('li') as $li) { //Loop through each <a> tag within the li, then extract the node value foreach($li->getElementsByTagName('a') as $links){ $result[] = $links->nodeValue; } } //Return the links print_r($result); /* Array ( [0] => one [1] => two [2] => three ) */ ?> 全部在 domDocument 的手册中 考虑使用 Simple HTML Dom Parser 来实现这一点。示例代码: // include the simple html dom parser include 'simple_html_dom.php'; // load the html with one of the sutiable methods available with it $html = str_get_html('<li><a href="link1">one</a></li><li><a href="link2">two</a></li>'); // create a blank array to store the results $items = array(); // loop through "li" elements and store the magic plaintext attribute value inside $items array foreach( $html->find('li') as $li ) $items[] = $li->plaintext; // this should output: Array ( [0] => one [1] => two ) print_r( $items ); 如果不关闭 </a> 标签,您的输入 HTML 看起来会损坏,但您仍然可以使用合法的 DOM 解析器来获取您需要的内容。 使用 XPath 将直接隔离所需的文本。 您可能希望也可能不希望修剪空格。 代码:(演示) $doc = new DOMDocument(); $doc->loadHTML($html); $xpath = new DOMXPath($doc); 保留空格: var_export( array_column( iterator_to_array($xpath->query('//li/a/text()')), 'nodeValue' ) ); 输出: array ( 0 => ' one ', 1 => ' two ', 2 => ' three ', ) 修剪空格: var_export( array_map( fn($text) => trim($text->nodeValue), iterator_to_array($xpath->query('//li/a/text()')), ) ); 输出: array ( 0 => 'one', 1 => 'two', 2 => 'three', )
我在 中有一些 标签,如下所示: 一个 两个 第三... 我在<li>内有一些<div>标签,如下所示: <li> <a href="link1"> one <li> <li> <a href="link2"> two <li> <li> <a href="link3"> three <li> 如何使用 HTML DOM 解析器获取文本 two,然后将其放入数组中以供稍后使用? 您需要确保 a 标签已关闭,然后您可以这样做: <?php $html = '<li> <a href="link1"> one </a> <li> <li> <a href="link2"> two </a> <li> <li> <a href="link3"> three </a> <li> '; // Create a new DOM Document $xml = new DOMDocument(); // Load the html contents into the DOM $xml->loadHTML($html); // Empty array to hold all links to return $result = array(); //Loop through each <li> tag in the dom foreach($xml->getElementsByTagName('li') as $li) { //Loop through each <a> tag within the li, then extract the node value foreach($li->getElementsByTagName('a') as $links){ $result[] = $links->nodeValue; } } //Return the links print_r($result); /* Array ( [0] => one [1] => two [2] => three ) */ ?> 全部在 domDocument 的手册中 考虑使用 Simple HTML Dom Parser 来实现这一点。示例代码: // include the simple html dom parser include 'simple_html_dom.php'; // load the html with one of the sutiable methods available with it $html = str_get_html('<li><a href="link1">one</a></li><li><a href="link2">two</a></li>'); // create a blank array to store the results $items = array(); // loop through "li" elements and store the magic plaintext attribute value inside $items array foreach( $html->find('li') as $li ) $items[] = $li->plaintext; // this should output: Array ( [0] => one [1] => two ) print_r( $items ); 如果不关闭 </a> 标签,您的输入 HTML 看起来会损坏,但您仍然可以使用合法的 DOM 解析器来获取您需要的内容。 使用 XPath 将直接隔离所需的文本。 您可能希望也可能不希望修剪空格。 代码:(演示) $doc = new DOMDocument(); $doc->loadHTML($html); $xpath = new DOMXPath($doc); 保留空格: var_export( array_column( iterator_to_array($xpath->query('//li/a/text()')), 'nodeValue' ) ); 输出: array ( 0 => ' one ', 1 => ' two ', 2 => ' three ', ) 修剪空格: var_export( array_map( fn($text) => trim($text->nodeValue), iterator_to_array($xpath->query('//li/a/text()')), ) ); 输出: array ( 0 => 'one', 1 => 'two', 2 => 'three', )
如何在Googlescript中连接domparser对象?
我正在尝试解析 Googlescript 脚本中的页面,以便获取位于以下位置的表格列表 “https://stihi.ru/readers.html?vlassoff&start=0” 但脚本给出了一个错误 参考错误:
如何在使用 XPath 解析时获取表格单元格值,并且单元格包含类似 <19.00 OR >23.99
实际上我需要解析一个 HTML 表格,并且该表格包含 HTML 字符,您可以在图像中看到。 我还需要每个单元格数据都具有该特殊字符。现在当我用
我正在尝试以编程方式创建一个像这样的 svg 节点 const 解析器 = new DOMParser() const doc = parser.parseFromString(mySvgAsString, 'image/svg+xml') 常量 svg = doc.children[0] 一切都...
使用 DOM 解析器和 SAX 解析器进行 Android XML 解析的区别
我想知道使用 DOM Parser 和 SAX Parser 进行 Android XML 解析究竟有什么优势? 是不是 DOm 解析器比 SAX 解析器更有优势,或者反之亦然? 请澄清...
Chromium xmlString -> DOMParser() -> XMLSerializer() 嵌入 CDATA 的往返失败
如果您采用 XML 字符串,其中 CDATA 元素以正确的结构嵌入到 CDATA 元素中。 (其中“]]”的嵌入式 CDATA 结束表示为“]]]]>]]>” 而你...
给定一个获取的html页面,我想找到包含一部分文本的特定节点。我想最困难的方法是一一迭代所有节点,尽可能深入,然后......
Puppeteer 在导入期间抛出错误:“原始”参数必须是 Function | 类型下一个 Js
我正在尝试在下一个 SSR js 项目中使用 Puppeteer。我需要解析html字符串并修改它。 在尝试导入 puppeteer 时,我收到此错误: “原始”论点
如何在 JavaScript 中将通配符元素名称与“querySelector()”或“querySelectorAll()”进行匹配?
有没有办法使用querySelector或querySelectorAll进行通配符元素名称匹配? 我试图解析的 XML 文档基本上是一个简单的属性列表 我需要找到...
org.xml解析 XML.sax.SAXParseException 时出现异常:元素的内容必须由格式良好的字符数据或标记组成
我正在从 WSDL 文件形成的处理程序中发送一个查询,它什么也没有 但如果我们无权访问数据库则执行查询。 该处理程序只有一个 xml 标签,我们必须在其中
JavaScript 中 XSLTProcessor.transformToFragment 的空结果
我在 JavaScript 中使用 XSLT 转换 XML 数据时遇到问题。我的设置涉及获取 XML 数据和 XSLT 样式表,该样式表嵌入在我的 HTML 中的标签内。当我尝试
如何从 XML 文件创建 Javascript 数组或对象?
首先我必须声明,尽管我使用 html、php、MySQL 和一些 javascript 创建了一个方便的网站,但我并不是编程方面的冠军。显然,到目前为止,JS 是我几乎使用的语言...
如果您查看 MDN 中的 DOMParser 示例: var parser = new DOMParser(); var doc = parser.parseFromString(stringContainingXMLSource, "application/xml"); // 返回一个 Document,但不是