轉自https://blog.csdn.net/mooncom/article/details/76155143
應用場景:在網站開發過程中,讀取XML格式文件,並將其所有內容都顯示到頁面上,即顯示標簽內容,又顯示標簽本身。
備注:本博客場景還適應於讀取顯示含有標簽的數據庫存儲字段。
解決方法:解決方法一共有四種(可能還有別的方法,但我只知道四種,歡迎大家補充),分別如下:
第一種,使用<xmp></xmp>
將你要顯示的內容包含在<xmp></xmp>標簽中,便可以將標簽顯示在頁面上。
JS代碼:
<script>
var str1 = "<xmp><dataId>500113_20130114 <dataId><dataName>姓名是:xyong</dataName></xmp>";
document.write(str1);
</script>
頁面顯示:
第二種,jstl的<c:out />
假設后台返回到頁面的數據為<dataId>500113_20130114 <dataId><dataName>姓名是:xyong</dataName>
HTML代碼:
<c:out value="${xxxx}" escapeXml="false" />
第三種,控制層將 "<" 換為 "<" , ">" 換為 ">"
在后台控制層獲取數據后,使用字符串String的 replaceAll() 方法,將獲取數據中的"<" 換為 "<" , ">" 換為 ">"
Java代碼:
String str = "<dataId>500113_20130114 <dataId><dataName>姓名是:xyong</dataName>";
str = str.replaceAll("<", "<").replaceAll(">", ">");
System.out.println(str);
第四種,通過ajax獲取數據,然后通過innerText輸出到頁面上
JS代碼:
var str1 = "<dataId>500113_20130114 <dataId>\n<dataName>姓名是:xyong</dataName>";
document.getElementsByClassName("div1")[0].innerText=str1;
注意:當使用innerText進行頁面輸出時,使用 "\n" 可以進行換行。
HTML代碼:
<div class="div1"></div>
<style>
.div1{
height:100px;
border:1px solid black;
}
</style>