如何将自关闭标记添加到 xml 中的元素?

E_l*_*ner 2 c# xml wpf xaml

网上有很多关于如何在 C# 中避免 XElement 的自闭合标记的信息,但我想做的是相反的信息。我给一个 XElement 赋值,还想在输出 xml 中看到一个自关闭标记。

这是我的代码:

XElement myElement = new XElement("MyItem",
    new Attribute("value1", "test1),
    new Attribute("value2", "test2),
    new Attribute("value3", "test3)
);
Run Code Online (Sandbox Code Playgroud)

这是我现在在输出 xml 文件中得到的:

<MyItem value1="test1" value2="test2" value3="test3">

</MyItem>
Run Code Online (Sandbox Code Playgroud)

我想要的是:

<MyItem value1="test1" value2="test2" value3="test3" />
Run Code Online (Sandbox Code Playgroud)

怎么做?谢谢。

附加信息:

我在 Visual Studio 2012 中使用 C#。

Viv*_*Dev 5

没有直接关系,但希望它可以帮助某人。我想删除自我关闭标签。也就是说,我想要的是

<label id="txtInitialTemperatureErrorMessage" hidden="true" class="errorLocal"></label>
Run Code Online (Sandbox Code Playgroud)

代替

<label id="txtInitialTemperatureErrorMessage" hidden="true" class="errorLocal" />
Run Code Online (Sandbox Code Playgroud)

我所做的只是以下。

代替

new XElement("label",     new XAttribute("id", "txt" + x.Key + "ErrorMessage"), new XAttribute("hidden", "true"), new XAttribute("class", "errorLocal")),
Run Code Online (Sandbox Code Playgroud)

我做了

new XElement("label", "", new XAttribute("id", "txt" + x.Key + "ErrorMessage"), new XAttribute("hidden", "true"), new XAttribute("class", "errorLocal")),
Run Code Online (Sandbox Code Playgroud)

我为第二个参数添加了一个空字符串。第二个参数用于内容。