- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
使用实验性的 code.google.com/p/go.net/html
包,我们可以使用 ParseFragment
来解析 HTML 文档的某些子部分。
像这样:
var s = `
<option id="foo">first</option>
<option Class="tester">second</option>
<option>third</option>
`
doc, err := html.ParseFragment(strings.NewReader(s), &html.Node{
Type: html.ElementNode,
Data: "body",
DataAtom: atom.Body,
})
这适用于大多数元素。但当某些元素位于 HTML 的根位置时,它似乎不起作用,例如 tbody
、tr
和 td
(和也许其他人,不确定)。它只是忽略标签,只给出文本内容。
这可以通过提供语义正确的父级而不是 atom.Body
来补救,但这需要我们提前知道 HTML 是什么。
我希望有一个像 atom.DocumentFragment
这样的通用根,但我没有看到。那么有没有什么方法可以使用它来处理任意 HTML 片段?
最佳答案
ParseFragment
始终是上下文相关的,因为它遵循 HTML5 片段解析算法。该算法旨在实现 DOM innerHTML 属性,从给定的 innerHTML 字符串生成正确的树取决于周围的上下文(特别是上下文是否在表中)。
因此 html
包无法独立于上下文解析 HTML 片段。
如果您需要有关解析如何取决于上下文的更多信息,请参阅 http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#reset-the-insertion-mode-appropriately
关于go - 以通用方式使用 html.ParseFragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21421704/
使用实验性的 code.google.com/p/go.net/html 包,我们可以使用 ParseFragment 来解析 HTML 文档的某些子部分。 像这样: var s = ` fi
本文整理了Java中org.xmlpull.v1.builder.XmlInfosetBuilder.parseFragment()方法的一些代码示例,展示了XmlInfosetBuilder.par
这是 parseFunction Ajax: { ParseHTML: function(aHTMLString) { var html = document.impl
本文整理了Java中org.springframework.extensions.config.xml.XMLConfigService.parseFragment()方法的一些代码示例,展示了XML
我是一名优秀的程序员,十分优秀!