簡體   English   中英

解析xml javascript-將標簽顯示為文本

[英]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("&lt;"+xmlDoc.getElementsByTagName("title")[i].childNodes[0].nodeName+">"+xmlDoc.getElementsByTagName("sample")[i].childNodes[0].nodeValue+"&lt;/"+xmlDoc.getElementsByTagName("title")[i].childNodes[0].nodeName+">");
        document.write("</div>")
    }
}
</script>

請注意腳本標記“ <script>”中的空白,這將避免執行其中的腳本,如果刪除該空白,則將執行腳本,並且輸出將顯示在警報中,而不是文檔正文中。

還要注意我在xml字符串中使用的反斜杠'\\',這是因為JavaScript結束於tag的事實,因此添加反斜杠會使它成為字符串的一部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM