[英]parsing xml javascript- Display tags as text
假設xml是:
<title><script>alert("Hello");</script></title>
以下代碼返回null。
txt=xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
我希望txt具有以下值,並且希望將其顯示為文本。
<script>alert("Hello");</script>
我如何解析XML?
xml也可以像這樣:
<title><sample>alert("Hello");</sample></title>
無論標題標簽的內容如何,我都只希望標題標簽中的全部內容為文本
這是解決方案!
<script type="text/javascript">
var xml = "<title><sample>alert(1);</sample></title>";
if (window.DOMParser)
{
parser=new DOMParser();
xmlDoc=parser.parseFromString(xml,"text/xml");
var data = xmlDoc.getElementsByTagName("title");
for (i=0;i<data.length;i++){
document.write("<div class='script'>")
document.write("<"+xmlDoc.getElementsByTagName("title")[i].childNodes[0].nodeName+">"+xmlDoc.getElementsByTagName("sample")[i].childNodes[0].nodeValue+"</"+xmlDoc.getElementsByTagName("title")[i].childNodes[0].nodeName+">");
document.write("</div>")
}
}
</script>
請注意腳本標記“ <script>”中的空白,這將避免執行其中的腳本,如果刪除該空白,則將執行腳本,並且輸出將顯示在警報中,而不是文檔正文中。
還要注意我在xml字符串中使用的反斜杠'\\',這是因為JavaScript結束於tag的事實,因此添加反斜杠會使它成為字符串的一部分。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.