Имею XML файл большой вложенности по протоколу CommerceML Сам файл достаточно большой поэтому выложу его по ссылке XML file
Хочу получить из него некоторые поля, вот мой код
var import = XDocument.Load("import/import.xml").Descendants("Каталог").Elements("Товары")
.Elements("Товар")
.Select(m => new
{
name = m.Elements("Наименоавние")
.Select(n => n.Value),
atr = m.Elements("Артикул")
.Select(a => a.Value),
opt = m.Elements("ЗначенияСвойств").Elements("ЗначенияСвойства")
.Select(o => new
{
id = o.Element("Ид").Value,
value = o.Element("Значение").Value
})
})
.ToArray();
var str = new StreamWriter("models.txt");
foreach (var im in import)
{
str.WriteLine(value: im.name);
str.WriteLine(im.atr);
str.WriteLine(im.opt);
str.WriteLine();
}
str.Close();
Console.WriteLine("done");
Однако на выходе получаю не значения элементов, а их типы. Что я делаю не так?
Победил сам себя.
var import = XDocument.Load("import/import.xml").Descendants("Каталог").Elements("Товары")
.Elements("Товар")
.Select(m => new
{
name = (string) m.Element("Наименование"),
atr = (string)m.Element("Артикул"),
opt = m.Elements("ЗначенияСвойств").Elements("ЗначенияСвойства")
.Select(o => new
{
id = o.Element("Ид").Value,
value = o.Element("Значение").Value
}).ToArray()
});
var str = new StreamWriter("models.txt");
foreach (var im in import)
{
str.WriteLine(im.name);
str.WriteLine(im.atr);
foreach (var ot in im.opt)
{
str.WriteLine(ot.id);
str.WriteLine(ot.value);
}
str.WriteLine("---------------------------------------------------");
str.WriteLine();
}
str.Close();
Console.WriteLine("done");
Виртуальный выделенный сервер (VDS) становится отличным выбором
Пользователь выбирает картинку для своего аватара, например с разрешением 1920 на 1080 и нажимает кнопку загрузить изображениеКартинка превращается...
Необходимо построчно обработать файлОсновная проблема заключается в том, что нужна вся строка целиком, то есть символы переноса строки,...
Нужно дописать запрос insert into в c#Есть два текст бокс и бд access