如何在Scala中转义XML/HTML文档中使用的字符串?

9lowa7mx  于 2023-10-18  发布在  Scala
关注(0)|答案(4)|浏览(118)

具体来说,替换字符串中的 * 特殊 * XML字符的最简单和最惯用的方法是什么?例如,将<Jack & Jill>转换为&lt;Jack &amp; Jill&gt;的最简单和最惯用的方法是什么。

xeufq47z

xeufq47z1#

事实证明,有一个简单的方法可以做到这一点(尽管快速的网络搜索没有显示一个明显的解决方案):使用方法xml.Utility.escape

du7egjpx

du7egjpx2#

如果您想在scala.html文件中转义@符号,例如,使用Scala/Play,请执行@@
并给予的人谁提供了这个答案在这里How to print @ symbol in HTML with play framework (scala)一个upvote。
我在寻找上面的答案时偶然发现了这个页面,所以我只是想在这里复制它,因为其他人可能也会在这里结束。

wz3gfoph

wz3gfoph3#

我建议使用函数org.apache.commons.text.StringEscapeUtils.escapeHtml4,通过libraryDependencies += "org.apache.commons" % "commons-text" % "1.9"添加到build.sbt
xml.Utility.escape不 * 逃逸,例如:«&laquo;

fcipmucu

fcipmucu4#

使用scala-xml你可以创建一个scala.xml.Text节点,并使用toString打印内容:

println(scala.xml.Text("<Jack & Jill>").toString)

这将显示:

&lt;Jack &amp; Jill&gt;

相关问题