Я хочу создать XML, и это будет включать в себя что-то выглядит следующим образом: -Динамические Вложенные XElements
<?xml version="1.0" encoding="utf-8"?>
<Groups>
<Group>
<Id>1</Id>
<GroupName>Group1</CategoryId>
<Products>
<Product>
<ProductId>1</ProductId>
<ProductName>Apples</ProductName>
</Product>
<Product>
<ProductId>2</ProductId>
<ProductName>Oranges</ProductName>
</Product>
<Product>
<ProductId>3</ProductId>
<ProductName>Lemons</ProductName>
</Product>
</Products>
<DateCreated></DateCreated>
<DateModified></DateModified>
</Group>
<Group>
<Id>2</Id>
<GroupName>Group2</CategoryId>
<Products>
<Product>
<ProductId>3</ProductId>
<ProductName>Grapes</ProductName>
</Product>
<Product>
<ProductId>4</ProductId>
<ProductName>PineApple</ProductName>
</Product>
</Products>
<DateCreated></DateCreated>
<DateModified></DateModified>
</Group>
</Groups>
Как вы можете видеть из моего примера, количество Product
может варьироваться от 1 группы к другой.
Как создать динамический XML и вы также сможете прочитать один и тот же XML позже.
В данный момент мой код для создания XML выглядит следующим образом:
internal XElement ConstructGroupXML(int numberOfItems)
{
XElement xmlList = new XElement("Groups",
from a in dataModel.CreateGroupList(numberOfItems)
select new XElement("Group",
new XElement("Id", a.Id),
new XElement("GroupName", a.GroupName),
new XElement("Products",
new XElement("ProductId", a.Products[i].Id),
new XElement("ProductName", a.Products[i].ProductName),
new XElement("CategoryId", a.Products[i].Category.Id),
new XElement("CategoryName", a.Products[i].Category.CategoryName),
new XElement("SubCategoryId", a.Products[i].SubCategory.Id),
new XElement("SubCategoryName", a.Products[i].SubCategory.SubCategoryName),
new XElement("DateCreated", a.DateCreated),
new XElement("DateModified", a.DateModified)
)
);
return xmlList;
}
Метод CreateGroupList
возвращает объект с группами и списками продуктов, внедренных в этих группах, так и для каждой группы я хочу цикл внутри списка продуктов и генерировать XML.
Вы можете добавить код для 'CreateGroupList (numberOfItems)'? Вам не хватает закрывающих круглых скобок в строке 'new XElement (« DateModified », a.DateModified));' it должно быть 'new XElement (« DateModified », a.DateModified)));' –
да вы прямо о скобках. AddGroup не является чем-то особенным, просто перебирает некоторые продукты и добавляет их в список и присоединяет их к группе. Его список внутри объекта группы –
Johann