XMLファイルから値を取り出し、文字列配列に入れようとしています。ここで私はこれを達成するために使用しているコードです:XML文書から文字列配列に値を取ります
public static string[] GetStringArray(string path)
{
var doc = XDocument.Load(path);
var services = from service in doc.Descendants("Service")
select (string)service.Attribute("name");
return services.ToArray();
}
は、しかし、私はそれを使用するたびに私はこことNullReferenceExceptionを取得:このメソッドの
foreach (string @string in query)
WeatherServicesCBO.Items.Add(@string);
:
public void InitializeDropDown(string XmlFile, string xpath)
{
//string[] services = { "Google Weather", "Yahoo! Weather", "NOAA", "WeatherBug" };
string[] services = GetStringArray("SupportedWeatherServices.xml");
IEnumerable<string> query = from service in services
orderby service.Substring(0, 1) ascending
select service;
foreach (string @string in query)
WeatherServicesCBO.Items.Add(@string);
}
EDITを使用しているXMLファイルは次のとおりです
<?xml version="1.0" encoding="utf-8" ?>
<SupportedServices>
<Service>
<name>Google Weather</name>
<active>Yes</active>
</Service>
<Service>
<name>WeatherBug</name>
<active>No</active>
</Service>
<Service>
<name>Yahoo Weather</name>
<active>No</active>
</Service>
<Service>
<name>NOAA</name>
<active>No</active>
</Service>
</SupportedServices>
は、だから、XMLに目を通すのですか?欠落しているものは、 'query'を作成するときには表示されませんが、反復するときには表示されません。 –