Создайте XML DOC из API, используя foreach

У меня есть API-вызов eBay Trading API для GetOrders. Когда у меня есть данные, мне нужно вернуть их, а также создать собственный XML-документ для использования в другой системе.

то, что я хотел бы получить, это любой вывод, подобный этому, для каждого заказа

<Order>
    <OrderNumber>123456789</OrderNumber>
    <OrderDate>2-Jul-2014 14:25:33</OrderDate>
    <Billing>
        <FullName>Full name</FullName>
        <Email>[email protected]</Email>
        <Phone>777-123-1234</Phone>
        <Address>
            <Street1>123 main sr</Street1>
            <City>Hillsville</City>
            <State>VA</State>
            <Code>24343</Code>
            <Country>US</Country>
        </Address>
    </Billing>
</Order>

Вот вызов API, который у меня есть прямо сейчас.

using System;
using System.Web.Http;
using System.Xml;
using System.Xml.Linq;
using eBay.Service.Call;
using eBay.Service.Core.Sdk;
using eBay.Service.Core.Soap;

namespace SellerChain.Areas.eBayAPI.Controllers
{
    public class GetOrdersController : ApiController
    {
        public object Get()
        {
            var apiContext = token.ApiContext();

            var timeFilter = new TimeFilter
            {
                TimeFrom = Convert.ToDateTime("2014-07-01T16:15:34.868Z"),
                TimeTo = DateTime.UtcNow
            };

            const OrderStatusCodeType orderStatus = OrderStatusCodeType.Completed;
            const TradingRoleCodeType orderRole = TradingRoleCodeType.Seller;

            var apiCall = new GetOrdersCall(apiContext)
            {
                DetailLevelList = new DetailLevelCodeTypeCollection
                {
                    DetailLevelCodeType.ReturnSummary
                },
                Pagination = new PaginationType
                {
                    EntriesPerPage = 10,
                    PageNumber = 1,
                },
                IncludeFinalValueFee = true,
                CreateTimeFilter = timeFilter,
                OrderStatus = orderStatus,
                OrderRole = orderRole,


            };

            apiCall.GetOrders(
                timeFilter, 
                (TradingRoleCodeType)Enum.Parse(typeof(TradingRoleCodeType), orderRole.ToString()),
                (OrderStatusCodeType)Enum.Parse(typeof(OrderStatusCodeType), orderStatus.ToString())
                );

            return apiCall;

        }
    }
}

person nafnaf1000    schedule 03.07.2014    source источник
comment
Прочтите XDocument, начните писать код и если вы где-то застряли, вы можете опубликовать -real- вопрос здесь. Это не вопрос, это скорее запрос, который не подходит для размещения здесь, в StackOverflow.   -  person har07    schedule 03.07.2014


Ответы (1)


Попробуй это

var doc = new XDocument(
  new XElement("SEITOrders",
  from o in apiCall.ApiResponse.OrderArray.ToArray()
  select 
  new XElement("order", 
  new XElement("orderID", o.OrderID))));
person Jitters    schedule 04.07.2014