【发布时间】:2015-05-04 15:47:13
【问题描述】:
我在开发应用程序时遇到问题。 我正在使用 eBay API 来获取有关卖家列出的物品的信息。我使用的调用名为“GetSellerList”。
如果项目有可用的 FreeAddedCategory,则响应可能包含名为“CategoryID”(FreeAddedCategory.CategoryID) 的值。您会发现这样的 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;
【问题讨论】:
-
NullReferenceException的几乎所有情况都是相同的。请参阅“What is a NullReferenceException in .NET?”获取一些提示。 -
问题已解决。我在 Chuck 的回答下方写了我的解决方案作为评论。是的,这是一个愚蠢的初学者错误;)对不起
-
@Filz 6 年后,您的评论帮助我解决了自己的问题。谢谢!!
标签: c# xml soap nullreferenceexception