如何格式化XDocument代码以使其最具可读性

时间:2016-12-08 08:36:44

标签: c# lambda linq-to-xml

我已经编写了一个方法来将列表(包含类对象)序列化为xml字符串,但是如此多的嵌套我无法弄清楚如何格式化我的代码以使其最具可读性。这是xml示例:

<Text>
    <Info name="example" language="en-US">example</Info>
    <Info name="example" language="en-GB">example</Info>
</Text>

这是(最有可能)格式化的代码:

XDocument xdoc = new XDocument
    (
     new XElement
        ("Text",
            Infos.Select(item =>
                new XElement
                ("Info",
                    new XAttribute("name", item.Name),
                    new XAttribute("language", item.Language),
                item.Value)
            )
        )
    );
return xdoc.ToString();

这是一个相当简短的例子,但它可能在将来增长,因此,我想让我的代码最具可读性 - 我该怎么做?

1 个答案:

答案 0 :(得分:1)

我喜欢这种格式

//Option 1
XDocument xdoc1 = new XDocument();
xdoc1.Add(new XElement("Text",
    Infos.Select(item => new XElement("Info",
        new XAttribute("name", item.Name),
        new XAttribute("language", item.Language),
        item.Value
        )
    )
));

//Option 2
XDocument xdoc2 = new XDocument();
xdoc2.Add(new XElement("Text", new object[] {
    Infos.Select(item => new XElement("Info", new object[] {
        new XAttribute("name", item.Name),
        new XAttribute("language", item.Language),
        item.Value
    }))
}));