c# xml文件添加3级子节点

c# xml文件添加3级子节点,第1张

一样的思路,你代码里的 element.AppendChild() 表示在element下添加子元素,想在Schedule下加子节点,就在对应的对象上AppendChild好了。

具体到你的代码,应该是 element8.AppendChild(这里面是Create出来的Item节点)

$(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)

XmlNode xmldocSelect=xmlDoc.SelectSingleNode("user")

XmlElement el=xmlDoc.CreateElement("person")//添加person节点

el.SetAttribute("name","风云")//添加person节点的属性"name"

el.SetAttribute("sex","女") //添加person节点的属性 "sex"

el.SetAttribute("age","25") //添加person节点的属性 "age"

XmlElement xesub1=xmlDoc.CreateElement("pass")//添加person节点的里的节点

xesub1.InnerText="123"//设置文本节点

el.AppendChild(xesub1)

XmlElement xesub2=xmlDoc.CreateElement("Address")

xesub2.InnerText="昆明"//设置文本节点

el.AppendChild(xesub2)

xmldocSelect.AppendChild(el)

xmlDoc.Save(Server.MapPath("user.xml"))


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11620332.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存