1、javascript是一种脚本语言,是有一定安全限制的,不知道你打算通过xmlDoc.save("XmlData/about.xml")把about.xml文件保存到客户端还是服务器端,如果是服务器端那是不可能的,需要自己写activex控件
2、javascript只能 *** 作浏览器内存中的dom对象,另存为xml文件一般是没有意义的
3、如果把xml文件保存到客户端这么做也不好,一般的杀毒软件也许会报为病毒,如果保存到客户端,我以前的办法是用applet数字签名,然后再保存
XmlDocument dom = new XmlDocument()XmlNode node = dom.CreateElement("message")
dom.Load(Server.MapPath("Xml/"+user.UserId.ToString()+".xml"))
if (dom.SelectSingleNode("/root/message") == null)
{
//说明不存在
dom.DocumentElement.AppendChild(node)
}
else
//存在(替换)
dom.DocumentElement.ReplaceChild(node, dom.SelectSingleNode("/root/message"))
$(function() {//定义一个xml对象
var x = $("<xml><items><center /></items></xml>")
//在 center节点的结尾添加一个 bottom节点 ,然后在center节点的开头添加一个top节点
x.find("center").appendXml("<bottom />").prependXml("<top />")
//在 center节点的后面添加一个after节点,然后在center节点的前面添加一个before节点
x.find("center").afterXml("<after />").beforeXml("<before />")
alert(x.xml())
})
(function($) {
function mnpXml(opCode, xmlStr) {
return this.each(function() {
if (typeof xmlStr != "string") return
if (!jQuery.isXMLDoc(this)) return
var node = $.parseXml(xmlStr).firstChild.cloneNode(true)
switch (opCode) {
case "append":
this.appendChild(node)
break
case "prepend":
if (this.childNodes.length > 0)
this.insertBefore(node, this.firstChild)
else
this.appendChild(node)
break
case "after":
if (this.nextSibling)
this.parentNode.insertBefore(node, this.nextSibling)
else
this.parentNode.appendChild(node)
break
case "before":
this.parentNode.insertBefore(node, this)
break
}
})
}
$.fn.extend({
appendXml: function(s) {
return mnpXml.call(this, "append", s)
},
prependXml: function(s) {
return mnpXml.call(this, "prepend", s)
},
afterXml: function(s) {
return mnpXml.call(this, "after", s)
},
beforeXml: function(s) {
return mnpXml.call(this, "before", s)
},
xml: function() {
var elem = this[0]
return elem.xml || (new XMLSerializer()).serializeToString(elem)
},
innerXml: function() {
var s = this.xml()
var i = s.indexOf(">"), j = s.lastIndexOf("<")
if (j > i)
return s.substring(i + 1, j)
else
return ""
}
})
$.extend(jQuery, {
parseXml: function(xmlStr) {
if (window.ActiveXObject) {
var xd = new ActiveXObject("Microsoft.XMLDOM")
xd.async = false
xd.loadXML(xmlStr)
return xd
}
else if (typeof DOMParser != "undefined") {
var xd = new DOMParser().parseFromString(xmlStr, "text/xml")
return xd
}
else return null
},
toXml: function(obj, nodeName, useAttr) {
var x = $($.parseXml("<" + nodeName + " />"))
var n = x.find(":first")
for (var p in obj) {
if (useAttr)
n.attr(p, obj[p])
else
n.appendXml("<" + p + " />").find(p).text(obj[p])
}
return x[0]
}
})
})(jQuery)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)