有很多关于如何在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#。
答案 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")),
我为第二个参数添加了一个空字符串。第二个参数用于内容。