简体   繁体   English

如何取消转义Jsoup文件?

[英]How to unescape Jsoup document?

I have html file which contains below content: 我有包含以下内容的html文件:

<html>
    <title><s:message code="test" /></title>
</html>

Java Program: Java程序:

String input = readFileAsString(filePath);
Document doc = Jsoup.parse(input);

Elements messageEls = doc.select("s|message");

I see output as below: 我看到如下输出:

<html>
 <head>
  <title>&lt;s:message code="test" /&gt;</title> 
 </head>
 <body> 
 </body>

Somehow character < is converted &lt . 字符<被转换为&lt How can I get original contect without enscape ? 我如何才能在不逃避的情况下获得原始保护? Actually I need find elements <s:message but because of escaping , it's not finding element <s:message code="test" /> ? 实际上,我需要查找元素<s:message但是由于转义,它找不到元素<s:message code="test" />吗?

Jsoup escapes because <s:message /> not a standard HTML tag. Jsoup退出是因为<s:message />不是标准的HTML标记。

Try to use XML parser : 尝试使用XML解析器

Document doc = Jsoup.parse(input, "", Parser.xmlParser());

Create a new XML parser. 创建一个新的XML解析器。 This parser assumes no knowledge of the incoming tags and does not treat it as HTML, rather creates a simple tree directly from the input. 该解析器假定不了解传入的标签,也不将其视为HTML,而是直接从输入中创建一个简单的树。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM