【问题标题】:How to build specific XML in C#?如何在 C# 中构建特定的 XML?
【发布时间】:2019-11-26 23:57:30
【问题描述】:

我正在读取并在 C# 中构建一个新的 xml 字符串,如下所示:

private string XmlString
{
    get
    {
        if (my_xml.Nodes().Count() > 0)
        {
            var param = new XElement("param");

            var ids = my_xml.Elements("ID").ToList();
            foreach (var id in ids)
            {
                param.Add(new XElement("ids", new XElement("ID", id.Value)));
            }
            return param.ToString();
        }
        return null;
    }
}

我得到一个 xml 字符串,类似于:

<param>
    <ids>
        <id>2</id>
    </ids>
</param>

我的方法应该如何使用 = 来获取像这样的 xml 字符串:

  <param>
        <ids id="2"/>
  </param>

【问题讨论】:

  • 如果my_xml 作为多个ID 元素怎么办?您希望在哪里设置所有 id 属性?在这种情况下应该有多个ids 元素吗?
  • 这能回答你的问题吗? How to put attributes via XElement
  • @juharr 我将 Anu Viswan 的答案放在 foreach 循环中。它与许多 id 一起工作

标签: c# xml


【解决方案1】:

您可以使用SetAttributeValue 添加属性。

var xElement = new XElement("ids"); 
xElement.SetAttributeValue("id",id.Value);
param.Add(xElement);

或者,您也可以使用 XElement 构造函数的覆盖

param.Add(new XElement("ids", new XAttribute("id", id.Value)));

【讨论】:

  • 就是这样!我看到你也添加了.Value。谢谢!
猜你喜欢
  • 2010-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-19
  • 1970-01-01
  • 2014-06-24
  • 2010-10-14
  • 2020-02-25
相关资源
最近更新 更多