我在开发应用程序时遇到问题。 我使用eBay API获取有关卖家列出的商品的信息。我使用的呼叫名为" GetSellerList"。
响应可能包含名为" CategoryID"的值。 (FreeAddedCategory.CategoryID)如果有可用于该项目的FreeAddedCategory。你会发现像这样的XML作为响应:
<ItemArray>
<Item>
<FreeAddedCategory>
<CategoryID>XXXXXXXXX</CategoryID>
</FreeAddedCategory>
</Item>
</ItemArray>
因为并不总是返回此值,所以收到以下错误消息:
对象引用未设置为对象的实例
我现在想在使用它之前检查这个对象是否可用,以防止出现错误。这就是我解决问题的方法(但没有成功):
foreach (ItemType item in apiCall.ApiResponse.ItemArray)
{
if (String.IsNullOrWhiteSpace(item.FreeAddedCategory.CategoryID))
{
Console.WriteLine("FreeAdded: Nicht vorhanden!");
}
}
但此检查也会显示相同的错误消息。我可以做些什么来使代码工作?逻辑应该是这样的:
IF item.FreeAddedCategory.CategoryID exist
{
do everything that needs to be done
}
ELSE skip;
答案 0 :(得分:0)
尝试:
XElement root = XElement.Load(file); // .Parse(string);
if (root.Descendants("FreeAddedCategory").Any())
{
// do exists
}
else
{
// doesn't exist
}
如果对您的案例更有意义,请使用CategoryId
。