domparser 相关问题

DOMParser可以将存储在字符串中的XML或HTML源解析为DOM Document。

扩展服务工作人员中使用离屏文档的 DOMParser

我正在尝试将扩展名从 MV2 切换到 MV3,但我被困在使用 Offscreen 文档的 DOMParser 上 服务工作者: *const OFFSCREEN_DOCUMENT_PATH =“/background/offscreen.html”...

回答 1 投票 0

需要 javascript/ajax 帮助

如何从中获取文档对象? var xmlobject = (new DOMParser()).parseFromString(xmlstring, "text/xml");

回答 1 投票 0

使用 Jest 测试 DOMParser

我有一个使用 DOMParser 解析 XML 的方法,如下所示: this.parseXmlString = 函数(xmlDocStr) { var xmlDoc; var parser= new window.DOMParser(); xmlDoc = parser.parseFromSt...

回答 2 投票 0

将 XML 解析为 Java 对象

我正在尝试确定将从 Web 服务调用获得的 XML 响应解析为 Java 对象的最佳方法。 使用 JAXB 似乎是最简单的方法,但我得到的每个示例都需要......

回答 5 投票 0

如何在next.js中使用DOMParser?

我想操作一个html字符串,在vanillaJS中我会这样做: 让 HTMLString = '你好 ...</desc> <question vote="8"> <p>我想操作一个 html 字符串,在 vanillaJS 中我会这样做:</p> <pre><code> let HTMLString = &#39;&lt;p&gt;hello&lt;/p&gt; &lt;style&gt; p{ color:black } &lt;p&gt;world&lt;/p&gt; &#39; const parser = new DOMParser(); const doc = parser.parseFromString(HTMLString, &#34;text/html&#34;); doc.querySelectorAll(&#39;style&#39;).forEach(item =&gt; 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 &#39;node-html-parser&#39;; const root = parse(&#39;&lt;ul id=&#34;list&#34;&gt;&lt;li&gt;Hello World&lt;/li&gt;&lt;/ul&gt;&#39;); console.log(root.querySelector(&#39;#list&#39;)); </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 &#39;cheerio&#39;; const $ = cheerio.load(&#39;&lt;h2 class=&#34;title&#34;&gt;Hello world&lt;/h2&gt;&#39;); $(&#39;h2.title&#39;).text(&#39;Hello there!&#39;); $(&#39;h2&#39;).addClass(&#39;welcome&#39;); $.html(); //=&gt; &lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;h2 class=&#34;title welcome&#34;&gt;Hello there!&lt;/h2&gt;&lt;/body&gt;&lt;/html&gt; </code></pre> </answer> </body></html>

回答 0 投票 0

类型错误:无法读取未定义的 NodeJS dom 解析器的属性“readFileSync”

尝试将 Dom-Parser 与 Discord.js 一起使用。无法从其他地方找到帮助。 第 15 行 fs.readFile 出错 我在让 fs 工作时也遇到了很多问题。首先它没有被定义,然后它就不能......

回答 4 投票 0

从所有<li>标签获取文本,其中还包括<a>标签

我在 中有一些 标签,如下所示: 一个 两个 我在<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', )

回答 3 投票 0

从<li>

我在 中有一些 标签,如下所示: 一个 两个 第三... 我在<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', )

回答 3 投票 0

如何在Googlescript中连接domparser对象?

我正在尝试解析 Googlescript 脚本中的页面,以便获取位于以下位置的表格列表 “https://stihi.ru/readers.html?vlassoff&start=0” 但脚本给出了一个错误 参考错误:

回答 1 投票 0

如何在使用 XPath 解析时获取表格单元格值,并且单元格包含类似 <19.00 OR >23.99

实际上我需要解析一个 HTML 表格,并且该表格包含 HTML 字符,您可以在图像中看到。 我还需要每个单元格数据都具有该特殊字符。现在当我用

回答 1 投票 0

isPointInFIll 不起作用

我正在尝试以编程方式创建一个像这样的 svg 节点 const 解析器 = new DOMParser() const doc = parser.parseFromString(mySvgAsString, 'image/svg+xml') 常量 svg = doc.children[0] 一切都...

回答 1 投票 0

使用 DOM 解析器和 SAX 解析器进行 Android XML 解析的区别

我想知道使用 DOM Parser 和 SAX Parser 进行 Android XML 解析究竟有什么优势? 是不是 DOm 解析器比 SAX 解析器更有优势,或者反之亦然? 请澄清...

回答 1 投票 0

Chromium xmlString -> DOMParser() -> XMLSerializer() 嵌入 CDATA 的往返失败

如果您采用 XML 字符串,其中 CDATA 元素以正确的结构嵌入到 CDATA 元素中。 (其中“]]”的嵌入式 CDATA 结束表示为“]]]]>]]>” 而你...

回答 1 投票 0

javascript如何找到包含文本的DOM节点?

给定一个获取的html页面,我想找到包含一部分文本的特定节点。我想最困难的方法是一一迭代所有节点,尽可能深入,然后......

回答 2 投票 0

Puppeteer 在导入期间抛出错误:“原始”参数必须是 Function | 类型下一个 Js

我正在尝试在下一个 SSR js 项目中使用 Puppeteer。我需要解析html字符串并修改它。 在尝试导入 puppeteer 时,我收到此错误: “原始”论点

回答 1 投票 0

如何在 JavaScript 中将通配符元素名称与“querySelector()”或“querySelectorAll()”进行匹配?

有没有办法使用querySelector或querySelectorAll进行通配符元素名称匹配? 我试图解析的 XML 文档基本上是一个简单的属性列表 我需要找到...

回答 8 投票 0

org.xml解析 XML.sax.SAXParseException 时出现异常:元素的内容必须由格式良好的字符数据或标记组成

我正在从 WSDL 文件形成的处理程序中发送一个查询,它什么也没有 但如果我们无权访问数据库则执行查询。 该处理程序只有一个 xml 标签,我们必须在其中

回答 1 投票 0

JavaScript 中 XSLTProcessor.transformToFragment 的空结果

我在 JavaScript 中使用 XSLT 转换 XML 数据时遇到问题。我的设置涉及获取 XML 数据和 XSLT 样式表,该样式表嵌入在我的 HTML 中的标签内。当我尝试

回答 1 投票 0

如何从 XML 文件创建 Javascript 数组或对象?

首先我必须声明,尽管我使用 html、php、MySQL 和一些 javascript 创建了一个方便的网站,但我并不是编程方面的冠军。显然,到目前为止,JS 是我几乎使用的语言...

回答 1 投票 0

创建新的 DOMParser 实例有什么意义?

如果您查看 MDN 中的 DOMParser 示例: var parser = new DOMParser(); var doc = parser.parseFromString(stringContainingXMLSource, "application/xml"); // 返回一个 Document,但不是

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.