У меня есть файл XML, который выглядит, как это -граф ChildElements одного и того же имени, внутри XML-элемент, с XDocument
<SST_SignageCompConfig>
<Items>
<Item>
<Index>0</Index>
<Type>1</Type>
<Duration>7</Duration>
<Name>Branding-Colours-for-business.jpg</Name>
</Item>
<Item>
<Index>1</Index>
<Type>1</Type>
<Duration>7</Duration>
<Name>Flower of Life Meditation - Copy.png</Name>
</Item>
</Items>
</SST_SignageCompConfig>
Мне нужно подсчитать, сколько Item
элементы существуют в пределах Items
элемента.
т.е. Сколько изображений есть.
Я использую XDocument
, так что мой файл XML загружается, как это -
string configurationPath = System.IO.Path.Combine("C:\\SST Software\\DSS\\Compilations\\" + compName + @"\\Comp.cfg");
XDocument filedoc = XDocument.Load(configurationPath);
Я попытался многочисленные вариации следующего со всеми возвращающей null object reference exception
foreach (var item in filedoc.Element("SST_SignageCompConfig").Element("Items").Element("Item").Nodes())
{
string name = filedoc.Element("SST_SignageCompConfig").Element("Items").Element("Item").Attribute("Name").ToString();
files.Append(name + "|");
}
I» ve нашел бесчисленные примеры того, как подсчитать количество разных дочерних элементов внутри элемента, но мне нужно знать, сколько экземпляров одинаково элемент существует.
Может ли кто-нибудь указать мне правильное направление?
Вы пытались добавить попытку catch для обработки элементов, которые не имеют имени? – lloyd
Вы сказали, что пытаетесь найти счет, но ваш код собирает имена - каков ваш требуемый результат? –
XML генерируется программным путем из другого метода с обширной обработкой ошибок, поэтому элемент 'Item' всегда будет иметь атрибут' name' :) – piggy