如何在xml中的元素中添加自闭合标记?

时间:2014-06-30 07:34:47

标签: c# xml wpf xaml

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

这是我的代码:

XElement myElement = new XElement("MyItem",
    new Attribute("value1", "test1),
    new Attribute("value2", "test2),
    new Attribute("value3", "test3)
);

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

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

</MyItem>

我想要的是:

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

怎么做?谢谢。

其他信息:

我在Visual Studio 2012中使用C#。

2 个答案:

答案 0 :(得分:2)

目前尚不清楚这里的问题是什么。您的代码(在一些小修复之后)为我生成自我结束标记:

XElement myElement = new XElement("MyItem",
                                  new XAttribute("value1", "test1"),
                                  new XAttribute("value2", "test2"),
                                  new XAttribute("value3", "test3")
                    );
Console.WriteLine(myElement.ToString());

输出:

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

答案 1 :(得分:0)

没有直接关系,但希望对您有所帮助。 我想删除自我自我关闭标签。 也就是说,我想要的是

<label id="txtInitialTemperatureErrorMessage" hidden="true" class="errorLocal"></label>

代替

<label id="txtInitialTemperatureErrorMessage" hidden="true" class="errorLocal" />

我所做的只是以下内容。

代替

new XElement("label",     new XAttribute("id", "txt" + x.Key + "ErrorMessage"), new XAttribute("hidden", "true"), new XAttribute("class", "errorLocal")),

我做到了

new XElement("label", "", new XAttribute("id", "txt" + x.Key + "ErrorMessage"), new XAttribute("hidden", "true"), new XAttribute("class", "errorLocal")),

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