У меня есть XML-файл в форме:
<Level1>
<Level2>
<Level3>
<Level4 attr1 = "123.4" attr2 = ""> </Level4>
</Level3>
</Level2>
<Level1>
Я использую XUnit для проверки структуры XML.
[Fact]
public void Xml_Check()
{
var doc = XDocument.Load("test.xml");
doc.Should().HaveRoot("Level1");
doc.Should().HaveElement("Level2");
doc.Should().HaveElement("Level3"); //Erroring on this line
}
Я получаю сообщение об ошибке: в ожидаемом XML-документе <Level1>...</Level1>
есть корневой элемент с дочерним элементом "Level3", но такой дочерний элемент не найден. Он пытается рассматривать Уровень 3 как ребенка от Уровня 1 вместо Уровня 2.
Как получить Level3 и проверить, существуют ли определенные атрибуты на Level4? Есть ли способ проверить тип значения атрибута?