Как использовать «глубокий» XML с MSTest XML Datasource

У меня возникли проблемы с MSTest с использованием источника данных XML. Предположим, у меня есть XML-файл, который выглядит следующим образом:

<Users>
    <User>
        <Id>1</Id>
        <Name>
            <First>Mike</First>
            <Last>Paterson</Last>
        </Name>
    </User>
    <User>
        <Id>2</Id>
        <Name>
            <First>John</First>
            <Last>Doe</Last>
        </Name>
    </User>
</Users>

Моя проблема, однако, в том, что я не могу получить элемент Name:

var name = row["Name"];
System.ArgumentException: Column 'Name' does not belong to table User.

Я полагаю, что это скорее вопрос DataRow, но любая помощь был бы очень признателен.

РЕДАКТИРОВАТЬ:

Даже если я копирую DataRow в новый DataTable и записываю XML, элемент Name отсутствует:

[DeploymentItem("XmlDatasourceTest\\Users.xml"), DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", "|DataDirectory|\\Users.xml", "User", DataAccessMethod.Sequential), TestMethod]
public void TestMethod1()
{
    var row = TestContext.DataRow;

    DataTable table = row.Table.Copy();

    foreach (DataRow r in table.AsEnumerable().ToArray())
    {
        r.Delete();
    }

    table.ImportRow(row);

    table.WriteXml(@"C:\test.xml");
}

Для первой строки это дает:

<?xml version="1.0" standalone="yes"?>
<DocumentElement>
  <User>
    <Id>1</Id>
  </User>
</DocumentElement>
8
задан devlife 11 October 2011 в 12:39
поделиться