【问题标题】:how to add self-closing tag to an element in xml?如何将自关闭标签添加到xml中的元素?
【发布时间】:2014-06-30 07:34:46
【问题描述】:

网上有很多关于如何避免 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#。

【问题讨论】:

  • MyItem 是您定义的 UserControl 吗?
  • 我更新了我的问题。
  • 你的代码还能编译吗?
  • 是的,但我想在输出 xml 中添加一个自关闭标签,但它给了我明确的关闭标签,因为该项目的字符串值不为空。
  • 您提供的代码无法编译。

标签: c# xml wpf xaml


【解决方案1】:

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

<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")),

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

【讨论】:

    【解决方案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" />
    

    【讨论】:

    • 我不知道有什么区别,但我没有得到一个自动关闭标签。
    • @E_learner:你知道这段代码和你提供的代码不同吗?
    • 好的,我知道了。它应该是“XAttribute”。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多