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

How to format XDocument code to make it the most readable

我写了一个方法将一个列表(包含 class 个对象)序列化为一个 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();

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

我喜欢这种格式

//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
    }))
}));