2010-06-30 3 views
2

을 생산하지 나는 다음과 같은 오류를 얻을 서비스를 테스트 할 때SqlDataReader 개체 내가 동적 웹 서비스를위한 XML을 만들려고하지만하고 XML 문서

XML 구문 분석 오류 : 어떤 요소가 위치를 찾을 수 없습니다 : 수 1 http://stuiis.cms.gre.ac.uk/dd615/aspweb/WatCoursework/Service.asmx/getMusicdetailsSql 라인, 39 열 : --------------------------------------^

// Make a new XML document in memory. 
     XmlDocument doc = new XmlDocument(); 

     // Fill this document with a root element 
     // named <Inventory>. 
     XmlElement musicInformation = doc.CreateElement("musicInformation"); 

     using (SqlDataReader oDr = myCommand.ExecuteReader()) 
     { 
      while (oDr.Read()) 
      { 
       // Now, make a sub element named <Car> with 
       // an ID attribute. 
       XmlElement musicdetails = doc.CreateElement("musicdetails"); 
       musicdetails.SetAttribute("m_id", oDr["m_id"].ToString()); 

       // Build the data within the <Car> element. 
       XmlElement p_id = doc.CreateElement("p_id"); 
       p_id.InnerText = oDr["p_id"].ToString(); 

       XmlElement artistname = doc.CreateElement("artistname"); 
       artistname.InnerText = oDr["artistname"].ToString(); 

       XmlElement recordname = doc.CreateElement("recordname"); 
       recordname.InnerText = oDr["recordname"].ToString(); 

       XmlElement recordtype = doc.CreateElement("recordtype"); 
       recordtype.InnerText = oDr["recordtype"].ToString(); 

       XmlElement format = doc.CreateElement("format"); 
       format.InnerText = oDr["format"].ToString(); 

       XmlElement price = doc.CreateElement("price"); 
       price.InnerText = oDr["price"].ToString(); 


       musicdetails.AppendChild(p_id); 
       musicdetails.AppendChild(artistname); 
       musicdetails.AppendChild(recordname); 
       musicdetails.AppendChild(recordtype); 
       musicdetails.AppendChild(format); 
       musicdetails.AppendChild(price); 

       musicInformation.AppendChild(musicdetails); 
      } 
      return doc; 
     } 
+0

부수적으로, XML 행에 일대일로 매핑하고 일렬 대 행을 하위 요소로 매핑하는 이런 종류의 작업은'SELECT ... FOR XML AUTO, ELEMENTS'에 대한 완벽한 시나리오입니다. http://msdn.microsoft.com/en-us/library/ms188273.aspx를보고 사용하면 C# 측에 상당히 많은 코드가 저장 될 수 있습니다. –

답변

3

음악 정보를 문서에 추가하는 것을 잊어 버린 것 같습니다.

 } 
     doc.AppendChild(musicInformation); 
     return doc; 
    } 
관련 문제