C# 例外情况的XElement

C# 例外情况的XElement,c#,.net,xml,linq-to-xml,C#,.net,Xml,Linq To Xml,我有以下“异常层次结构” 我正在尝试创建下面的xml..这是我现有的代码(我理解为什么它没有给我预期的结果) 我得到这个xml: <root> <Exception> <Message>Arguments hurt</Message> <Message>Files stinks</Message> <Message>Numbers are yucky<

我有以下“异常层次结构”

我正在尝试创建下面的xml..这是我现有的代码(我理解为什么它没有给我预期的结果)

我得到这个xml:

<root>
    <Exception>
        <Message>Arguments hurt</Message>
        <Message>Files stinks</Message>
        <Message>Numbers are yucky</Message>
    </Exception>
</root>

争论是有害的
档案很臭
数字令人讨厌
我正在尝试获取此Xml

<root>
    <Exception>
        <Message>Arguments hurt</Message>
        <Exception>
            <Message>Files stinks</Message>
            <Exception>
                <Message>Numbers are yucky</Message>
            </Exception>
        </Exception>
    </Exception>
</root>

争论是有害的
档案很臭
数字令人讨厌
“嵌套”异常的数量未知……可能是1到N


我无法让“递归元素”工作。

Ahhh,我离得太近了。我错过了“XElement currentElement=root;”部分。谢谢
<root>
    <Exception>
        <Message>Arguments hurt</Message>
        <Message>Files stinks</Message>
        <Message>Numbers are yucky</Message>
    </Exception>
</root>
<root>
    <Exception>
        <Message>Arguments hurt</Message>
        <Exception>
            <Message>Files stinks</Message>
            <Exception>
                <Message>Numbers are yucky</Message>
            </Exception>
        </Exception>
    </Exception>
</root>
if (null != three)
{

    XElement currentElement = root;
    Exception exc = three;
    while (null != exc)
    {
        XElement exceptionElement = new XElement("Exception");
        exceptionElement.Add(new XElement("Message", exc.Message));
        exc = exc.InnerException;

        currentElement.Add(exceptionElement);
        currentElement = exceptionElement;
    }
}