using System.Collections.Specialized; // 반드시 추가해줘야 합니다.
using System.Xml; // Xml을 만들어야 하니까 역시 추가되어야겠죠.
namespace Test
{
public string XmlCreate(NameValueCollection NameValue)
{
if (NameValue.Count > 0)
{
XmlDocument Doc = new XmlDocument();
XmlDeclaration newDec = Doc.CreateXmlDeclaration("1.0", "utf-8", null);
Doc.AppendChild(newDec);
XmlElement Worklist = Doc.CreateElement("worklist");
Doc.AppendChild(Worklist);
XmlElement Request = Doc.CreateElement("request");
Request.SetAttribute("object", "REPORT");
Request.SetAttribute("action", "SAVE");
Worklist.AppendChild(Request);
XmlElement Report = Doc.CreateElement("report");
Request.AppendChild(Report);
XmlElement ChildData = null;
for (int iIndex = 0; iIndex < NameValue.Count; iIndex++)
{
ChildData = Doc.CreateElement(NameValue.GetKey(iIndex).ToString());
ChildData.InnerText = NameValue[iIndex].ToString();
Report.AppendChild(ChildData);
}
XmlElement User_Key = Doc.CreateElement("user_key");
User_Key.InnerText = "18";
Worklist.AppendChild(User_Key);
XmlElement Level_Code = Doc.CreateElement("level_code");
Level_Code.InnerText = "100";
Worklist.AppendChild(Level_Code);
return Doc.InnerXml.Replace(@"\", "");;
}
else
return "";
}
}
일단 Method(function)은 위와 같고 이 기능을 사용하려면...
NameValueCollection NameValue = new NameValueCollection();
NameValue.Add("study_key", "");
NameValue.Add("transcriber_key", "");
NameValue.Add("dictator_key", "");
NameValue.Add("approver_key", "");
NameValue.Add("reviser_key", "");
NameValue.Add("auto_update", "");
NameValue.Add("report_text", "");
NameValue.Add("user_comments", "");
NameValue.Add("study_comments", "");
string strXml = XmlCreate(NameValue);
이렇게 사용하면 됩니다.
넣고자 하는 tag에 해당하는 data를 string형태로 입력하면 strXml에 Xml이 만들어져서 들어갑니다.
//--------------------------------------------------------------------------
저처럼 XML 때문에 삽질하시는 분이 계실까봐... ^^;

0 개의 댓글:
댓글 쓰기