我正在尝试转义字符串中的XML特殊字符。转义由静态方法处理,如下所示。
public static String escapeXml10(String response) {
return StringEscapeUtils.escapeXml10(response);
}
现在,这种实现的问题是,我得到了一段字符串,它可能被解析,也可能不被解析。这导致输出不规则。
例如:
现在,为了得到正确的响应,我计划在静态方法中引入一个检查。通过使用if条件,如下所示。
public static String escapeXml10(String response) {
if(response.contains("&") ||
response.contains("<") ||
response.contains(">") ||
response.contains("'") ||
response.contains(""")){
return response;
}else{
return StringEscapeUtils.escapeXml10(response);
}
}
这是一种正确的实施方式吗?如果不是,请提出建议?
int
,小数的浮动
或双
,文本的String
等。然后,在序列化该数据时应该执行适当的格式。例如,在序列化为XML之前,必须正确放置节点和属性以形成特定的数据结构,并且必须转义用户数据以避免在其中出现特殊字符。相反,在读取XML(=parsing)时,必须进行非转义(但解析器已经完成了)。结论:如果您使用标准XML解析器(DocumentBuilderFactory、SAXParser、XMLInputFactory)和序列化器(TransformerFactory、XMLOutputFactory),您甚至不应该在意是否使用了转义。他们都不应该在意你的客户端应用。
问题内容: 我目前正在使用DOM解析器来解析XHTML文档,例如: 我的问题是,当我的文档包含一个实体引用时,例如: 我的解析器为包含“€”而不是“&euro;”的内容创建了一个Text节点。这就是说,它正在按预期的方式解析实体(XHTML 1.0 Strict DTD链接到ENTITIES Latin1 DTD,这反过来确定了“&euro;”与“€”的对等)。 问题是,我不希望解析器执行此类操作
问题内容: 我需要使用Java代码对URL进行编码,以避免使用特殊字符,例如空格和%和&… etc 问题答案: URL的构造很棘手,因为URL的不同部分对允许使用什么字符有不同的规则:例如,加号保留在URL的查询部分中,因为它表示空格,但在URL的路径部分中保留了一个空格。加号没有特殊含义,空格编码为“%20”。 RFC2396解释(在2.4.2节中),完整的URL始终采用其编码形式:您获取各个组
问题内容: 我想问一个有关在Java中避免字符串重复的问题。 该 情境 是:以标签和属性像这样的一个XML: 使用JibX,此XML将在如下所示的类中进行编组/解组: 该程序是长时间的批处理,因此将创建,使用,复制产品对象。 好吧, 问题 是:当我使用 Eclipse内存分析器(MAT)之 类的软件分析执行时,我发现了几个重复的String。例如,在id属性中, PROD 值在2000个实例左右重
我使用for循环将学生详细信息添加到ArrayList。当我给第二个学生提供详细信息时,它会覆盖第一个数据。螺柱类 将数据添加到ArrayList的主类。 输出:第二个数据[2,2]后的实际输出辊数[1]。预期输出应为卷号: A1姓名: F1 L1性别:男性年龄: 11体育赛事:标枪 报名号:A2姓名:F2 L2性别:女年龄:14体育项目:100米跑 报名号:A3姓名:F3 L3性别:男性年龄:1
我有一根这样的绳子。 如何在Java中将字符串解析成多行?
问题内容: 我得到了一个像这样的字符串 我该如何编写Java代码来解码编码字符,例如 在字符串中。是否有任何现有的类/方法可以对其进行解码? 谢谢。 问题答案: 要取消转义HTML / XML实体,请使用Apache Commons Lang 或homegrow one 。