XElement 怎么在指定节点添加子节点
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XElement 怎么在指定节点添加子节点相关的知识,希望对你有一定的参考价值。
<Agreement_Infos >
<Agreement_Info>
<Agreement_Type_ID>20120801005</Agreement_Type_ID>
<Agreement_Name>dsfsdf</Agreement_Name>
<Agreement_Status>1</Agreement_Status>
<Supplier_ID>20120802002</Supplier_ID>
<Agreement_Version>V1.0.0</Agreement_Version>
</Agreement_Info>
</Agreement_Infos>
我想在<Agreement_Info>这一级下面再加一个 怎么加
我是用System.Xml.Linq.XElement xml这个的 不是System.Xml.XmlElement
首先获取想要复制节点值添加
XElement rootNode = XElement.Load("test.xml");var result = from m in rootNode.Elements ("MM02")
where m.Attribute ("id").Value =="1"
select new
id=m.Attribute ("id").Value ,
fname = m.Element ("FNAM").Value ,
fval = m.Element("FVAL").Value
;
foreach (var s in result)
XElement x =
new XElement("MM02", new XAttribute("id",s.id ),
new XElement ("FNAM",s.fname ),
new XElement ("FVAL",s.fval)
);
XElement node = rootNode.Element("MM02");
rootNode.Element("MM02").AddAfterSelf(x);
rootNode.Save("test.xml");
参考技术A 不是有Add方法么,直接添加子元素,你先用xpath找到Agreement_Info就可以了追问
有代码吗
追答var ai = doc.XPathSelectElement("//Agreement_Infos/Agreement_Info");
ai.Add(new XElement());
懒啊
属性名称在Xelement的setattribute属性中重叠
我正在尝试重新构建XMI结构。所以为此我需要添加如下的子节点
<node xmi:type="shape" xmi:id="12358" type="rectangle">
</node >
因此创建了一个XMLElement并尝试使用下面的代码添加属性
XmlElement child= papNotdoc.CreateElement("node");
child.SetAttribute("type", "http://www.omg.org/XMI", "Shape");
child.SetAttribute("id", "http://www.omg.org/XMI","12358");
child.SetAttribute("type", "rectangle");
使用命名空间URL,以便我在其中一个type属性中获得前缀XMI:
但不幸的是,XML元素将两个类型命名的属性视为相同的属性,并给我一个输出如下
<node xmi:type="rectangle" xmi:id="12358">
</node >
我想要一个节点中的xmi:type和type属性。如何实现它?
您应该将null
提供给SetAttribute
方法的namespaceURI参数。
XmlElement child = papNotdoc.CreateElement("node");
child.SetAttribute("type", "http://www.omg.org/XMI", "Shape");
child.SetAttribute("id", "http://www.omg.org/XMI", "12358");
child.SetAttribute("type", null, "rectangle");
以上是关于XElement 怎么在指定节点添加子节点的主要内容,如果未能解决你的问题,请参考以下文章
easyui tree 怎么获取选择节点子节点上的值?js怎么写?
给元素添加子节点,元素子节点数改变,反过来影响上方调用其值的异步任务回调函数(如click。load,定时器等