将多个属性插入XML元素。 LINQ SQL

时间:2016-02-23 19:19:36

标签: c# linq linq-to-xml

我能够得到我的结果,但似乎有更好的方法来做到这一点。

        doc.Element("XML").SetAttributeValue("Type", "ListBuilder");
        doc.Element("XML")
           .Element("Order").SetAttributeValue("No", 425654);
        doc.Element("XML")
           .Element("Order").SetAttributeValue("DispDate", today);
        doc.Element("XML")
           .Element("Order").SetAttributeValue("Basket", 3536);

enter image description here

2 个答案:

答案 0 :(得分:2)

您可以通过向元素添加XAttribute项来执行相同的操作。这为您提供了更多选项,因为如果需要,可以动态生成这些选项。

doc.Element("XML").Add(new XAttribute("Type", "ListBuilder"));
doc.Element("XML").Element("Order").Add(new[]
{
    new XAttribute("No", 425654),
    new XAttribute("DispDate", today),
    new XAttribute("Basket", 3536),
});

答案 1 :(得分:1)

可能在变量中保存元素引用,以便在每次需要向其添加属性时不搜索它们:

var xml= doc.Element("XML");
xml.SetAttributeValue("Type", "ListBuilder");

var order=xml.Element("Order");
order.SetAttributeValue("No", 425654);
//...