![](/img/trans.png)
[英]Returning a substring from the value field of an xml doc using Linq to XML
[英]Create XML DOC from API using foreach
我有一个eBay交易API到GetOrders的API调用。 拥有数据后,我需要将其返回,并创建一个供其他系统使用的自定义XML文档。
我想得到的是每个订单的任何输出
<Order>
<OrderNumber>123456789</OrderNumber>
<OrderDate>2-Jul-2014 14:25:33</OrderDate>
<Billing>
<FullName>Full name</FullName>
<Email>some@email.com</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;
}
}
}
尝试这个
var doc = new XDocument(
new XElement("SEITOrders",
from o in apiCall.ApiResponse.OrderArray.ToArray()
select
new XElement("order",
new XElement("orderID", o.OrderID))));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.