如何通过 XElement 放置属性
Posted
技术标签:
【中文标题】如何通过 XElement 放置属性【英文标题】:How to put attributes via XElement 【发布时间】:2011-07-01 03:21:21 【问题描述】:我有这个代码:
XElement EcnAdminConf = new XElement("Type",
new XElement("Connections",
new XElement("Conn"),
// Conn.SetAttributeValue("Server", comboBox1.Text);
// Conn.SetAttributeValue("DataBase", comboBox2.Text))),
new XElement("UDLFiles")));
// Conn.
如何向Conn
添加属性?我想添加我标记为cmets的属性,但是如果我在定义EcnAdminConf
之后尝试在Conn
上设置属性,它们是不可见的。
我想以某种方式设置它们,使 XML 看起来像这样:
<Type>
<Connections>
<Conn ServerName="FAXSERVER\SQLEXPRESS" DataBase="SPM_483000" />
<Conn ServerName="FAXSERVER\SQLEXPRESS" DataBase="SPM_483000" />
</Connections>
<UDLFiles />
</Type>
【问题讨论】:
【参考方案1】:在XElement
的构造函数中添加XAttribute
,点赞
new XElement("Conn", new XAttribute("Server", comboBox1.Text));
你也可以通过构造函数添加多个属性或元素
new XElement("Conn", new XAttribute("Server", comboBox1.Text), new XAttribute("Database", combobox2.Text));
或者你可以使用XElement
的Add-Method来添加属性
XElement element = new XElement("Conn");
XAttribute attribute = new XAttribute("Server", comboBox1.Text);
element.Add(attribute);
【讨论】:
是否可以构建一个 xAttr 的列表或数组并一次性添加它们? @greg 你可以使用 .Add()-overload 来传递多个 XAttribute 对象 (docs.microsoft.com/de-de/dotnet/api/…)以上是关于如何通过 XElement 放置属性的主要内容,如果未能解决你的问题,请参考以下文章
如何确定 XElement.Elements() 是不是包含具有特定名称的节点?
如何在 XElement 上放置命名空间别名?如何将数据源添加到现有 RDL 文档?