Доброго дня,не может возвратить строку XML отформатирована, используя StringBuilder в C# и БД шаблоне, Для PlaceHolder
У меня есть функция, которая создает строку для шаблона в моей БД, который выводит структуру XML , Он принимает класс Order в качестве параметра и шаблона, так что у меня возникают проблемы с попыткой заполнить тег-заполнитель с именем [[items]], где, основываясь на количестве элементов в таблице, он должен построить список xml для этой части ,
Это шаблон, он возвращает только один экземпляр строки, но должен возвращать (n) экземпляры на основе того, что находится в таблице.
<Items>
[[items]]
</Items>
Это то, что должно быть заполнено для других тегов для пункта
<Item>
<SKU>[[item_sku]]</SKU>
<PROD_NAME><![CDATA[[[item_product_name]]]]></PROD_NAME>
<Description><![CDATA[[[item_name]]]]></Description>
<Attributes><![CDATA[[[item_attributes]]]]></Attributes>
<Quantity>[[item_qty]]</Quantity>
<UnitPrice>[[item_price]]</UnitPrice>
<InkColor>[[item_inkcolor]]</InkColor>
</Item>
И Он хочет, чтобы заполнить как этот
<Items>
<Item>
<SKU>7Z-BRPA-K79A</SKU>
<PROD_NAME><![CDATA[Test One]]></PROD_NAME>
<Description><![CDATA[ExcelMark 5-Line Large Return Address Stamp - Custom Self Inking Rubber Stamp]]></Description>
<Attributes><![CDATA[Custom Text Line 1 Text: This book was donated to CAEO Font: Arial
Custom Text Line 2 Text: In tribute to & memory of Font: Arial]]></Attributes>
<Quantity>1</Quantity>
<UnitPrice><![CDATA[$9.99]]></UnitPrice>
<InkColor>Red</InkColor>
</Item>
<Item>
<SKU>42A1848</SKU>
<PROD_NAME><![CDATA[Test Two]]></PROD_NAME>
<Description><![CDATA[Self Inking Rubber Stamp with up To 4 Lines of Custom Text]]></Description>
<Attributes><![CDATA[Custom Text Line 1 Text: This book was donated to CAEO Font: Arial
Custom Text Line 2 Text: In tribute to & memory of Font: Arial]]></Attributes>
<Quantity>1</Quantity>
<UnitPrice><![CDATA[$8.99]]></UnitPrice>
<InkColor>Blue</InkColor>
</Item>
</Items>
Вот функция, чтобы это произошло
public string PopulateStringBuilder(Order order, Template template)
{
var i = new StringBuilder(template.Description);
List<string> s = new List<string>();
var reqID = order.OrderId;
foreach (var x in order.Items)
{
i.Replace("[[item_sku]]", x.SkuNumber);
i.Replace("[[item_product_name]]", x.ProductName);
i.Replace("[[item_name]]", x.Description);
i.Replace("[[item_attributes]]", x.Attributes);
i.Replace("[[item_qty]]", x.Quantity.ToString());
i.Replace("[[item_price]]", x.UnitPrice.ToString());
i.Replace("[[item_inkcolor]]", x.InkColor);
o.Replace("[[items]]", i.ToString());
}
return o.ToString();
}