2010-04-05 4 views
0
private void BindCountry() 
{ 
    XmlDocument doc = new XmlDocument(); 
    doc.Load(Server.MapPath("countries.xml")); 

    foreach (XmlNode node in doc.SelectNodes("//country")) 
    { 
     usrlocationddl.Items.Add(new ListItem(node.InnerText, node.Attributes["codes"].InnerText)); 
    } 
} 

위의 코드는로드하는 국가에 사용합니다. XML 파일에서 드롭 다운 목록으로 나열하십시오. 그러나 이렇게하는 동안 Null 참조 오류가 발생합니다.XML 파일의 내용을 드롭 다운 목록에로드하는 중 오류가 발생했습니다.

개체 참조가 개체의 인스턴스 설정되지. XML 파일의

내용 : 나는 오류를 피할 수 있도록

<countries> 
    <country code="AF" iso="4">Afghanistan</country> 
    <country code="AL" iso="8">Albania</country> 
</countries> 

코드에서

나는 변화해야한다. 나는이 문제를 의심

+0

당신은 코드 속성의 innerText와 속성을 대신 Value 속성을 사용하여 시도 할 수 있습니다? – Kane

답변

1

는 아니오 "코드"속성으로 국가를 가지고 있다는 것입니다. 이 같은 것을 피할 수 :

private void BindCountry() 
{ 
    XmlDocument doc = new XmlDocument(); 
    doc.Load(Server.MapPath("countries.xml")); 

    foreach (XmlNode node in doc.SelectNodes("//country")) 
    { 
     XmlAttribute attr = node.Attributes["codes"]; 
     if (attr != null) 
     { 
      usrlocationddl.Items.Add(new ListItem(node.InnerText, attr.Value)); 
     } 
    } 
} 

이 방법으로 문제가 해결되지 않으면, 난 당신이 XML을로드하고 선택하려는 각 항목을 작성하려고하는 간단한 콘솔 응용 프로그램을 작성 제안 - 더 쉽게해야 무슨 일이 벌어지는 지 알아 내려고.

+0

예 "코드"속성에 문제가 있습니다. 고맙습니다. – Chaitanya

관련 문제