问题标签 [tag-soup]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android 使用了错误的类
我在我的一个项目中使用 TagSoup 并对 HTMLSchema.java 进行了一些修改以处理嵌套列表标签。当我测试这些更改时,它们根本没有效果。我在 Java 独立应用程序中测试了相同的更改,它们按预期工作。
当我尝试调试应用程序时,我注意到它没有在调试器中显示正确的行号,所以我做了你在这种情况下通常会做的事情:重新构建项目,重新启动 IDE,重新启动 Android 设备和PC,创建一个新的Android项目,都无济于事。
我从一些类中删除了所有代码,应用程序仍然像以前一样运行,所以很明显,Android 使用的类与我在应用程序中部署的类不同。我做了一个 Android 测试项目,除了通常的 MainActivity、布局和可绘制对象之外,什么都没有,添加了 TagSoup 类和使用 TagSoup 解析的代码,但它仍然没有使用“我的”TagSoup 类。我用两个 4.4.2 Nexus 设备和一个运行 4.1.2 的 Note 2 对此进行了测试。
只有当我将包名从 org.ccil.cowan.tagsoup 重命名为其他名称(如 org.ccil.cowan.tagsoup2)时,它才使用随我的应用程序部署的类。
我的问题很简单:到底发生了什么?
jaxb - 如何在 HTML 中使用 JAXB?
我想使用 JAXB 将一些讨厌的 HTML 解组为 Java 对象。(我在 Java 7 上)。
Tagsoup 是一个符合 SAX 的 XML 解析器,可以处理讨厌的 HTML。
如何设置 JAXB 以使用 Tagsoup 来解组 HTML?
我尝试设置 System.setProperty("org.xml.sax.driver", "org.ccil.cowan.tagsoup.Parser");
如果我创建一个 XMLReader,它会使用 Tagsoup,但在我使用 JAXB 时不会。
com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl 是否使用 DOM 或 SAX 来解析 XML?
如何告诉 JAXB 使用 SAX?
如何告诉 JAXB 使用 TagSoup 作为 SAX 实现?
根据 Blaise 的建议,在下面尝试,但在最后一行得到 SAXParseException。仅使用 XMLReader 完成解析就可以了:
java - tagsoup 打破了良好的 xml
清理一个 xml 文件我得到了意想不到的结果:tagsoup 已经孤立了一些属性太快关闭了父标签。它还将父标签的名称小写。
在标签汤之前:
标签汤之后:
我在一个使用这个库的java项目中:
我正在使用 Java 6。
有什么线索吗?
有效 xml 文件的所需输出将是同一个文件(可能只是更改细节,而不是结构),不是吗?
scala - 在不最小化元素的情况下解析 HTML + 转换
我正在为 Web 应用程序编写一个插件,该插件采用用户提供的 HTML 并将其转换为不同的 HTML 代码。我主要想找到具有给定类/内容(“指令”)的所有元素并将其重写为其他内容。我正在使用 Scala 2.11.1 和 TagSoup 解析器来处理对 XML 不友好的代码。
我目前的主要问题是对XML.parseString("<div></div>")
收益的调用:
这种行为会使生成的页面(即iframe
s、div
s 等)出现乱码,因为我希望不最小化此标签。有没有办法在加载阶段避免这种行为?
第二个问题与 TagSoup 有关。解析如下代码块时:
TagSoup 将其解析为
有什么办法可以避免这些问题吗?到目前为止,我只提出了“讨厌”的解决方案,例如重写所有元素以使其最小化并从<script>
标签内容中删除所有实体。
TagSoup 解析是这样完成的:
java - 带有 TagSoup 和不间断空格值的 Groovy XmlSlurper
我正在使用XmlSlurper
由 tagoup 支持的Groovy 解析一些 HTML4 Parser
。
我text()
成功地获得了一个节点,但是
在尝试测试与另一个值是否相等时,HTML 空间给我带来了一些困难。具体来说,.trim()
实际上并不修剪所有空格的字符串。在我看来,值两侧的字符都是空格(见下面的代码),但String.trim()
并没有像我期望的那样修剪。从代码示例可以看出,Character.isSpaceChar()
对于字符串中的第一个字符被确定为空格字符。
为什么String.trim()
不修剪我从中获得的这个值XmlSlurper
?
产量:
我在用着Groovy Version: 2.3.6 JVM: 1.8.0 Vendor: Oracle Corporation OS: Mac OS X
maven - 即使添加了 Maven 依赖项,Intellij 也无法解析 tagsoup 命名空间
我在我的一个项目中遇到了 TagSoup 的问题:即使我向 pom 添加了 maven 依赖项,IntelliJ 13 Ultimate 仍然会喊它无法解析命名空间org.ccil.cowan.tagsoup.Parser
(指向“ccil”位)。
因此,我创建了一个新的空 Maven 项目,并向其添加了 2 个依赖项:saxon9 和 tagoup1.2。
并创建了简单的类:
结果:
- saxon 和 tagoup 都被下载到我的本地仓库
- 它建立在终端 (
mvn clean install
) - 在 IntelliJ 中,撒克逊人的东西正在得到解决
- 在 IntelliJ 中,tagsoup 的东西仍然在命名空间的“ccil”部分出现错误“无法解析符号”
- 由于上述错误,不会在 IntelliJ 中构建
有任何想法吗?我是否缺少对 tagoup 的某种依赖(当然在 tagoup 网站上看不到有关这种依赖的任何内容)?谢谢。
java - 使用 TagSoup 解析页面的 URL 以创建 DOM 时出现 java IOException
使用以下链接,我正在尝试创建 URL 的 DOM 树(即返回此异常的特定 URL):
但是当我为这个 URL 运行我的程序时,它给了我一个p.parse(new InputSource(url));
我不知道为什么的异常。因为到目前为止它没有任何问题。
任何提示?
clojure - 使用 Enlive/Tagsoup/JSoup 解析 HTML5
HTML5 允许<meta>
标签出现在正文中,但 Enlive 似乎不支持这一点:
此测试失败,但如果您删除元标记,它将通过。
这个旧线程让我意识到这是导致问题的元标记。
我意识到 Enlive 依赖于 Tagsoup,但是当我将其切换为 JSoup(声称支持 HTML5)时,我得到了相同的结果。
java - 如何使用不支持命名空间的解析器在 Java 中进行 XSL 转换?
我将tagoup用作 (SAX)XMLREader
并将命名空间功能设置为false
. 此解析器用于提供Transformer
SAX 源。完整代码:
这会导致类似:
问题是标签名称是空白的。XMLReader(tagsoup 解析器)在 SAX 方法ContentHandler#startElement
和ContentHandler#endElement
. 对于不知道命名空间的解析器,这是允许的(参见Javadoc)。
如果我添加一个XMLFilter
将 qName 的值复制到 localName 的值,那么一切正常。但是,这不是我想要的,我希望这可以“开箱即用”。我究竟做错了什么?任何输入将不胜感激!