文章詳情頁
怎樣才能用js生成xmldom對象,并且在firefox中也實現xml數據島?
瀏覽:356日期:2022-06-04 09:34:36
一般來說,xml文件都是從外部載入的,那么我們如何只用js生成xml對象呢?下面的程序實現了這一點,只需要輸入字符串形式的xml數據,就可以轉換為xml對象,并且兼容firefox。
用這種方法,我們也可以在firefox中實現xml數據島,即用xmp標簽來裝載xml字符串,然后調用createXml函數來生成xml。
由于firefox中不支持節點的.xml屬性,所以需要給它添加該屬性,使之與IE一致
復制代碼 代碼如下:
<body>
<xmp id=x1>
<root>
<node>test</node>
</root>
</xmp>
</body>
<script>
if(!document.all)
XMLDocument.prototype.__defineGetter__("xml",function(){return new XMLSerializer().serializeToString(this)})
function createXml(str){
if(document.all){
var xmlDom=new ActiveXObject("Microsoft.XMLDOM")
xmlDom.loadXML(str)
return xmlDom
}
else
return new DOMParser().parseFromString(str, "text/xml")
}
xml=createXml(document.getElementById("x1").innerHTML)
alert(xml.xml)
</script>
用這種方法,我們也可以在firefox中實現xml數據島,即用xmp標簽來裝載xml字符串,然后調用createXml函數來生成xml。
由于firefox中不支持節點的.xml屬性,所以需要給它添加該屬性,使之與IE一致
復制代碼 代碼如下:
<body>
<xmp id=x1>
<root>
<node>test</node>
</root>
</xmp>
</body>
<script>
if(!document.all)
XMLDocument.prototype.__defineGetter__("xml",function(){return new XMLSerializer().serializeToString(this)})
function createXml(str){
if(document.all){
var xmlDom=new ActiveXObject("Microsoft.XMLDOM")
xmlDom.loadXML(str)
return xmlDom
}
else
return new DOMParser().parseFromString(str, "text/xml")
}
xml=createXml(document.getElementById("x1").innerHTML)
alert(xml.xml)
</script>
標簽:
XML/RSS
上一條:讀寫xml文件的2個小函數下一條:博客日志摘要暨RSS技術
相關文章:
排行榜
