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