如何为XElement添加属性以生成指定格式的XML节点
问题原因
你当前的写法是把拼接后的字符串作为<SCENE>节点的内部文本传入,所以生成的标签会把内容放在开闭标签之间。你需要的内容是节点属性,因此要替换为XAttribute类型的参数。
修改方案
仅需要调整XElement root的实例化行即可,修改后的完整代码如下:
XDocument doc = XDocument.Load("Database.xml"); XElement root = new XElement("SCENE", new XAttribute("SCENE_NAME", "SCENE_" + strSceneName)); var scenePath = doc.XPathSelectElement("//DATABASE"); scenePath.Add(root); doc.Save("Database.xml");
补充说明
XElement构造函数的可变参数支持传入多种类型对象:
- 传入
XAttribute对象时,会自动作为节点的属性添加 - 传入字符串、数值等基础类型对象时,会自动作为节点的内部文本添加
内容的提问来源于stack exchange,提问作者Summit
相关产品推荐
相关产品推荐

