C# を使用して SharePoint Web サービスを呼び出しています。Sharepoint リストを取得し、リスト内の各項目について、その属性をコンソールに書き込みたいと考えています。を使用して属性を反復処理すると、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というメッセージが表示され続けますforeach
。次のようにコードします。
class Program
{
static void Main(string[] args)
{
try
{
cSharpTest_service.Lists lists = new cSharpTest_service.Lists();
lists.Url = "http://wsssandbox/sites/cSharp/_vti_bin/lists.asmx";
lists.Credentials = System.Net.CredentialCache.DefaultCredentials;
System.Xml.XmlNode listData = lists.GetListItems("cSharpTestList", "", null, null, "", null, "");
foreach (System.Xml.XmlNode iterateNode in listData)
{
Console.WriteLine("--NODE--");
System.Xml.XmlAttributeCollection attrs = iterateNode.Attributes;
foreach (System.Xml.XmlAttribute attr in attrs)
{
Console.WriteLine("Name:");
Console.WriteLine(attr.Name);
Console.WriteLine("Value:");
Console.WriteLine(attr.Value);
}
}
Console.ReadLine();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
Console.ReadLine();
}
}
}
Null
一部の属性は一部のリスト項目用であるため、例外がスローされていると思います。foreach
しかし、繰り返しの一部として属性が null かどうかを確認する方法がわかりません。