尝试构造一个将返回一个arraylist的帮助器类,但是我遇到了以下错误,与我需要创建的xml文档有关:
Util.oDocument':无法在静态类中声明实例成员
我想我明白为什么每次调用这个方法时你都不想创建一个新的xmldoc对象,但是我需要那个doc来实现这个功能。我该怎么接近这个?
using System;
using System.Collections;
using System.Xml;
public static class Util
{
public static ArrayList multipleArtistList(string artistName)
{
XmlDocument oDocument = new XmlDocument();
string uri = "http://api.leoslyrics.com/api_search.php?auth=duane&artist=" + artistName;
oDocument.Load(uri);
XmlNodeList results = oDocument.GetElementsByTagName("name");
ArrayList artistList = new ArrayList();
for (int i = 0; i < results.Count; i++)
{
if (!artistList.Contains(results[i].InnerText))
{
artistList.Add(results[i].InnerText);
}
}
return artistList;
}
}
答案 0 :(得分:4)
此处出现此错误:
Util.oDocument: cannot declare instance members in a static class
表示您已在方法的之外声明了oDocument 。
您发布的代码没有任何问题,实际上错误和代码相互矛盾。
确保在方法内声明了oDocument
。如果要将其声明为字段,请确保为其指定static
修饰符,如下所示:
public static class Util
{
static XmlDocument oDocument;
/* code */
}