.net에서 Some XML을 반복하고 Xml 요소를 문자열 변수에 지정합니다..net에서 XML을 통해 루핑하기
이러한 변수는 세 개의 인수를 사용하는 메서드에 전달됩니다. 이 메서드는 SQL Server 2005에서 이러한 세 가지 인수를 사용하여 데이터베이스를 쿼리하는 저장 프로 시저를 실행합니다.
방법 및 SPROC 실행 미세 수동으로 인수를 전달합니다. 그러나 xml 파일에서 인수를 얻으려고하면 Visual Studio에서 "프로 시저 또는 함수 usp_CreateOrgDataSet에 인수가 너무 많습니다."라고 표시됩니다.
이
이이 getChartdate 방법이 주민 오류의 시점에서 XML<?xml version="1.0" encoding="utf-8"?>
<root>
<Org>
<OC_Ttl1>Test1</OC_Ttl1>
<OC_Ttl2>Test1</OC_Ttl2>
<OC_OL31>OrgName1</OC_OL31>
</Org>
<Org>
<OC_Ttl1>Test2</OC_Ttl1>
<OC_Ttl2>Test2</OC_Ttl2>
<OC_OL31>OrgName2</OC_OL31>
</Org>
<Org>
<OC_Ttl1>Test3</OC_Ttl1>
<OC_Ttl2>Test3</OC_Ttl2>
<OC_OL31>OrgName3</OC_OL31>
</Org>
</root>
에게 있습니다
private void GetChartData(string OC_Ttl1, string OC_Ttl2, string OC_OL31)
{
OC_Ttl_1 = OC_Ttl1;
OC_Ttl_2 = OC_Ttl2;
OC_OL3_1 = OC_OL31;
//Execute Stored Procedure
cmd_Org.Connection = conn_Org;
cmd_Org.CommandText = "dbo.usp_CreateOrgDataSet";
cmd_Org.CommandType = CommandType.StoredProcedure;
cmd_Org.Parameters.AddWithValue("@OC_Ttl_1", OC_Ttl1);
cmd_Org.Parameters.AddWithValue("@OC_Ttl_2", OC_Ttl1);
cmd_Org.Parameters.AddWithValue("@OC_OL3_1", OC_OL31);
//Output xml
DataSet orgDataSet = new DataSet();
orgDataSet.ReadXml(cmd_Org.ExecuteXmlReader(), XmlReadMode.Auto);
orgDataSet.WriteXml("InputXMLFiles/" + OC_OL3_1.Replace(" ","_") + ".xml");
}
입니다
private void GenChart_Click(object sender, EventArgs e)
{
//Open Connection
conn_Org.ConnectionString = Set_OrgChartConn();
conn_Org.Open();
//Load xml Config file
XmlDocument doc = new XmlDocument();
doc.Load("Config.xml");
XmlElement root = doc.DocumentElement;
XmlNodeList nodes = root.SelectNodes("/root/Org");
foreach (XmlNode node in nodes)
{
string Title1 = node["OC_Ttl1"].InnerText;
string Title2 = node["OC_Ttl2"].InnerText;
string OrgName = node["OC_OL31"].InnerText;
//Grab Chart data
GetChartData(Title1, Title2, OrgName);
}
conn_Org.Close();
}
아래의 방법에 대한 코드입니다 창에 다음 값이 있습니다.
,451,515,OC_Ttl1 "Test2를"문자열 OC_Ttl2 "Test2를"문자열 OC_OL31 "ORGNAME2"문자열
첫 번째 반복은 성공하지만 두 번째 실패합니다.
성공 했습니까? –
그래, 첫 번째 반복이 성공하고 질문을 편집했습니다. 고맙습니다. – MrBliz