我正在使用jsoup来解析一些HTML内容.解析HTML内容后,它改变了骆驼套管属性为小写喜欢
<svg viewBox='XXXX'>到<svg viewbox='XXXX'>.
有人可以建议我如何在使用jsoup 1.8.1解析html内容时保留案例吗?
我刚刚发布了jsoup 1.10.1,其中包括对保留标记和/或属性大小写的支持.您可以使用ParseSettings控制它.默认情况下,HTML解析器将继续使用小写标准化标记和属性,XML解析器将保留它们.您可以在创建解析器时指定这些设置.
要使用XML解析器(默认情况下保留大小写):
Document doc = Jsoup.parse(xml, baseUrl, Parser.xmlParser());
Run Code Online (Sandbox Code Playgroud)
要使用HTML解析器并将其设置为preserve-case:
Parser parser = Parser.htmlParser();
parser.settings(new ParseSettings(true, true)); // tag, attribute preserve case
Document doc = parser.parseInput(html, baseUrl);
Run Code Online (Sandbox Code Playgroud)
解析文档时保留属性名称字符大小写可能相当困难。对于 JSoup 1.8.2 ,负责将所有属性名称转换为小写的行是TokeniserState.java#649,并且没有空间插入用户的自定义代码。
您最多能做的就是下载源代码、修改行并构建您自己的库副本。
您还应该考虑如果不将属性名称转换为小写,是否会引入一些奇怪的行为。也许是一些问题Document.getElementByAttribute,甚至是其他依赖功能?
| 归档时间: |
|
| 查看次数: |
1514 次 |
| 最近记录: |