C# 创建 XML 文件以发送到 ebay LMS API
C# Creating XML file to send to ebay LMS API
好的,所以我正在尝试创建一个 xml 文件来使用 ebay LMS 更新库存项目。
我在输出 Feed 文件的这一部分时遇到问题:
<ReviseInventoryStatusRequest xmlns="urn:ebay:apis:eBLBaseComponents">
这是我目前的代码:
using (var writer = XmlWriter.Create(stream, settings))
{
writer.WriteStartDocument();
writer.WriteStartElement("ReviseInventoryStatusRequest");
writer.WriteStartAttribute("xmlns", "urn:ebay:apis:eBLBaseComponents");
writer.WriteEndAttribute();
writer.WriteStartElement("RequesterCredentials");
writer.WriteElementString("eBayAuthToken", ebayAuthTokenSetting.ToString());
writer.WriteEndElement();
writer.WriteElementString("Version", "967");
writer.WriteElementString("ErrorLanguage", "en_US");
writer.WriteElementString("WarningLevel", "High");
//int counter = 1;
//Add the products to feed which do not have variations
foreach (var ep in productsToProcess)
{
var product = _productService.GetProductById(ep.ProductID);
var productStockQuantity = product.GetTotalStockQuantity();
if (product.GetTotalStockQuantity() != productStockQuantity) {
writer.WriteStartElement("InventoryStatus");
writer.WriteElementString("SKU", ep.EbayProductSKU);
writer.WriteElementString("ItemID", ep.EbayID);
writer.WriteElementString("Quantity", productStockQuantity.ToString());
writer.WriteEndElement();
//ep.EbayProductStockQuantity = productStockQuantity;
//_ebayProductService.UpdateEbayProduct(ep);
sendEbayApiRequest = true;
}
}
writer.WriteEndElement(); // ReviseInventoryStatusRequest
writer.WriteEndDocument(); // productfeed
}
我试过这个来输出文件的那部分:
writer.WriteStartAttribute("xmlns", "urn:ebay:apis:eBLBaseComponents");
writer.WriteEndAttribute();
也试过这个:
writer.WriteAttributeString("xmlns", null, "urn:ebay:apis:eBLBaseComponents", null);
以及上述代码片段的其他变体,例如:
writer.WriteAttributeString(null, "xmlns", null, "urn:ebay:apis:eBLBaseComponents");
我有点不知道如何做到这一点,我看过一些例子,但没有帮助。
任何人都可以提供帮助,谢谢。
好的,感谢@dbc 的帮助,我不得不使用以下代码。
writer.WriteStartElement("ReviseInventoryStatusRequest", "urn:ebay:apis:eBLBaseComponents");
输出
<ReviseInventoryStatusRequest xmlns="urn:ebay:apis:eBLBaseComponents">
谢谢@dbc
好的,所以我正在尝试创建一个 xml 文件来使用 ebay LMS 更新库存项目。
我在输出 Feed 文件的这一部分时遇到问题:
<ReviseInventoryStatusRequest xmlns="urn:ebay:apis:eBLBaseComponents">
这是我目前的代码:
using (var writer = XmlWriter.Create(stream, settings))
{
writer.WriteStartDocument();
writer.WriteStartElement("ReviseInventoryStatusRequest");
writer.WriteStartAttribute("xmlns", "urn:ebay:apis:eBLBaseComponents");
writer.WriteEndAttribute();
writer.WriteStartElement("RequesterCredentials");
writer.WriteElementString("eBayAuthToken", ebayAuthTokenSetting.ToString());
writer.WriteEndElement();
writer.WriteElementString("Version", "967");
writer.WriteElementString("ErrorLanguage", "en_US");
writer.WriteElementString("WarningLevel", "High");
//int counter = 1;
//Add the products to feed which do not have variations
foreach (var ep in productsToProcess)
{
var product = _productService.GetProductById(ep.ProductID);
var productStockQuantity = product.GetTotalStockQuantity();
if (product.GetTotalStockQuantity() != productStockQuantity) {
writer.WriteStartElement("InventoryStatus");
writer.WriteElementString("SKU", ep.EbayProductSKU);
writer.WriteElementString("ItemID", ep.EbayID);
writer.WriteElementString("Quantity", productStockQuantity.ToString());
writer.WriteEndElement();
//ep.EbayProductStockQuantity = productStockQuantity;
//_ebayProductService.UpdateEbayProduct(ep);
sendEbayApiRequest = true;
}
}
writer.WriteEndElement(); // ReviseInventoryStatusRequest
writer.WriteEndDocument(); // productfeed
}
我试过这个来输出文件的那部分:
writer.WriteStartAttribute("xmlns", "urn:ebay:apis:eBLBaseComponents");
writer.WriteEndAttribute();
也试过这个:
writer.WriteAttributeString("xmlns", null, "urn:ebay:apis:eBLBaseComponents", null);
以及上述代码片段的其他变体,例如:
writer.WriteAttributeString(null, "xmlns", null, "urn:ebay:apis:eBLBaseComponents");
我有点不知道如何做到这一点,我看过一些例子,但没有帮助。
任何人都可以提供帮助,谢谢。
好的,感谢@dbc 的帮助,我不得不使用以下代码。
writer.WriteStartElement("ReviseInventoryStatusRequest", "urn:ebay:apis:eBLBaseComponents");
输出
<ReviseInventoryStatusRequest xmlns="urn:ebay:apis:eBLBaseComponents">
谢谢@dbc