<FirstName1>fn1FirstName1>
<MiddleName1>mn1MiddleName1>
<LastName1>ln1LastName1>
<DisplayName1>fn1 mn1 ln1DisplayName1>
<Login1>AF4073Login1>
<Password1>5F4DCC3B5AA765D61D8327DEB882CF99Password1>
<FirstName2>fn2FirstName2>
<MiddleName2>mn2MiddleName2>
<LastName2>ln2LastName2>
<DisplayName2>fn2 mn2 ln2DisplayName2>
<Login2>AC4070Login2>
<Password2>5F4DCC3B5AA765D61D8327DEB882CF99Password2>
<FirstName3>fn3FirstName3>
<MiddleName3>mn3MiddleName3>
<LastName3>ln3LastName3>
<DisplayName3>fn3 mn3 ln3DisplayName3>
<Login3>AJ4077Login3>
<Password3>5F4DCC3B5AA765D61D8327DEB882CF99Password3>
<FirstName4>fn4FirstName4>
<MiddleName4>mn4MiddleName4>
<LastName4>ln4LastName4>
<DisplayName4>fn4 mn4 ln4DisplayName4>
<Login4>AE4072Login4>
<Password4>0CC175B9C0F1B6A831C399E269772661Password4>
<FirstName5>fn5FirstName5>
<MiddleName5>mn5MiddleName5>
<LastName5>ln5LastName5>
<DisplayName5>fn5 mn5 ln5DisplayName5>
<Login5>AF4073Login5>
<Password5>9E3669D19B675BD57058FD4664205D2APassword5>
<FirstName6 />
<MiddleName6 />
<LastName6 />
<DisplayName6 />
<Login6 />
<Password6 />
<FirstName7 />
<MiddleName7 />
<LastName7 />
<DisplayName7 />
<Login7 />
<Password7 />
<FirstName8 />
<MiddleName8 />
<LastName8 />
<DisplayName8 />
<Login8 />
<Password8 />
<FirstName9 />
<MiddleName9 />
<LastName9 />
<DisplayName9 />
<Login9 />
<Password9 />
<FirstName10 />
<MiddleName10 />
<LastName10 />
<DisplayName10 />
<Login10 />
<Password10 />
<FirstName11 />
<MiddleName11 />
<LastName11 />
<DisplayName11 />
<Login11 />
<Password11 />
<ArchiveStatus />
<Role>StudentRole>
ROLES>
User>
=========================================
using System;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.DirectoryServices;
using System.Configuration;
using System.Xml;
using System.Security.Principal;
using System.Collections.Generic;
using AcDataAccess;
using System.Text;
using System.Data;
using System.IO;
using System.Data.SqlClient;
using System.Globalization;
using System.Threading;
///
///
///
[WebService(Namespace = "http://localhost/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
public class VCMMNETPersonInfo : System.Web.Services.WebService
{
public VCMMNETPersonInfo()
{
//Uncomment the following line if using designed components
//InitializeComponent();
}
[WebMethod(true, Description = "This method adds students En Masse, Owner: Moses Ssemukutu")]
public XmlDocument AddUsers(string queryXml)
{
try
{
VCMMNETPersonDocument person = new VCMMNETPersonDocument();
XmlDocument xmlDocument = new XmlDocument();
string strMsg = "";
string actionType = "";
bool flgNew = false;
xmlDocument.LoadXml(queryXml);
string docId = Util.GetXPath(xmlDocument, "query/documentID");
string documentXml = Util.GetInnerXML(xmlDocument, "query/documentXml");
if (docId == null) docId = "";
person.DocID = docId;
if (docId == "")
{
if (!person.CanCreate)
throw new Exception("You do not have permission to create a " + person.Type + " document.");
flgNew = true;
}
else
{
if (!person.CanEdit)
throw new Exception("You do not have permission to edit a " + person.Type + " document.");
//iitialize from db record
person.VCMMNETLoadObject();
}
//update from xml body
person.VCMMNETLoadObject(documentXml);
}
catch (Exception ex)
{
AcXmlClasses.AddLogEntry("Error when calling AddUsers: " + ex.ToString(), 1);
return AcException.GetXmlException(ex);
}
}
}
===============================================
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml;
using System.Text;
using AcDataAccess;
using System.Collections.Generic;
using System.IO;
using System.Xml.Xsl;
using System.Globalization;
using System.Threading;
///
///
///
public class VCMMNETPersonDocument : VCMMNETAcDocument
{
public VCMMNETPersonDocument()
{
this.Type = "Person Document";
this.TableName = "DOCUMENTS_PEOPLE";
this.IdColumnName = "PersonId";
}
#region Properties
string firstname = "";
string lastname = "";
string middlename = "";
string displayname = "";
string archivestatus = "";
string loginname = "";
string password = "";
string roles = "";
string xmlbody = "";
public string FirstName { get { return firstname; } set { firstname = value; } }
public string MiddleName { get { return middlename; } set { middlename = value; } }
public string LastName { get { return lastname; } set { lastname = value; } }
public string DisplayName { get { return displayname; } set { displayname = value; } }
public string ArchiveStatus { get { return archivestatus; } set { archivestatus = value; } }
public string LoginName { get { return loginname; } set { loginname = value; } }
public string Password { get { return password; } set { password = value; } }
public string Roles { get { return roles; } set { roles = value; } }
public string XMLBody { get { return xmlbody; } set { xmlbody = value; } }
#endregion
internal override void VCMMNETLoadObject(string documentXml)
{
XmlDocument xmlBody = new XmlDocument();
if (documentXml == "")
{
throw new Exception("No parameter passed for add person Web Service");
}
try
{
xmlBody.LoadXml(documentXml);
}
catch (Exception)
{
throw new Exception("Error reading query string passed to add person Web Service. It may not be a wellformed XML.");
}
CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US");
FirstName = Util.GetXPath(xmlBody, "//FirstName");
MiddleName = Util.GetXPath(xmlBody, "//MiddleName");
LastName = Util.GetXPath(xmlBody, "//LastName");
DisplayName = Util.GetXPath(xmlBody, "//DisplayName");
LoginName = Util.GetXPath(xmlBody, "//LoginName");
Password = Util.GetXPath(xmlBody, "//Password");
XMLBody = GetXmlBody(xmlBody);
Thread.CurrentThread.CurrentCulture = currentCulture;
}
private Boolean paramExists(XmlDocument paramDoc, String paramName)
{
Boolean ReturnVal = false;
try
{
String tmpVal = AcXmlClasses.GetInnerXML(paramDoc, "//" + paramName);
ReturnVal = true;
}
catch
{
ReturnVal = false;
}
return ReturnVal;
}
private String ReadParam(XmlDocument paramDoc, String paramName)
{
String ReturnVal = "";
try
{
ReturnVal = AcXmlClasses.GetInnerXML(paramDoc, "//" + paramName);
}
catch { }
return ReturnVal;
}
internal override int Save()
{
CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US");
XmlDocument xmlBody = new XmlDocument();
try
{
if (ArchiveStatus == "")
{
ArchiveStatus = "False";
}
Dictionary<string, string> fields = new Dictionary<string, string>();
fields.Add("FirstName", Util.Unstrip(firstname));
fields.Add("MiddleName", Util.Unstrip(middlename));
fields.Add("LastName", Util.Unstrip(lastname));
fields.Add("DisplayName", Util.Unstrip(displayname));
fields.Add("ArchiveStatus", Util.Unstrip(archivestatus));
fields.Add("LoginName", Util.Unstrip(loginname));
fields.Add("Password", Util.Unstrip(password));
xmlBody.LoadXml(XMLBody);
fields.Add("XMLBody", GetXmlBody(xmlBody));
Person person = Util.GetCurrentPerson();
string CurrentUser = person.DisplayName;
int tmpreturn = -1;
if ((DocID == "") || (DocID == null))
{
if (!CanCreate)
throw new Exception("You do not have permission to create a new person.");
string numberOfDupes = Selecter.SelectScalar("select count(*) from DOCUMENTS_People where isnull(ArchiveStatus,0) != 1 and displayname = '" + Util.Unstrip(DisplayName).Replace("'", "''") + "'").ToString();
//string numberOfDupes = Selecter.SelectScalar("select count(*) from DOCUMENTS_People where displayname = '" + Util.Unstrip(DisplayName).Replace("'", "''") + "'").ToString();
if (numberOfDupes != "0")
{
throw new Exception("An active or archived person with this display name already exists.");
}
fields.Add("CreatedBy", CurrentUser);
Inserter inserter = new Inserter("Documents_People");
foreach (string key in fields.Keys)
{
inserter[key] = fields[key].ToString();
}
tmpreturn = inserter.Insert();
DocID = tmpreturn.ToString();
}
else
{
if (!CanEdit)
throw new Exception("You do not have permission to edit a person.");
fields.Add("ModifiedBy", CurrentUser);
Updater updater = new Updater("Documents_People", "PersonId", Int32.Parse(DocID));
foreach (string key in fields.Keys)
{
updater[key] = fields[key].ToString();
}
tmpreturn = updater.Update();
}
return tmpreturn;
}
catch (Exception e)
{
throw new Exception("Error saving person info: " + e.Message);
}
}
internal override void VCMMNETLoadObject()
{
try
{
string query = "Select * from DOCUMENTS_PEOPLE where PersonId = " + this.DocID;
AcDataAccess.Selecter selecter = new AcDataAccess.Selecter();
using (IDataReader dr = selecter.select(query))
{
dr.Read();
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.LoadXml(dr["XmlBody"].ToString());
ArchiveStatus = dr["ArchiveStatus"].ToString();
VCMMNETLoadObject(xmlDocument.InnerXml);
}
}
catch { }
}
string GetXmlBody(XmlDocument xmlBody)
{
StringBuilder sb = new StringBuilder();
sb.Append("
sb.Append("
sb.Append("
sb.Append("
sb.Append("
sb.Append("
sb.Append("
sb.Append("
sb.Append("");
return sb.ToString();
}
}
Lalit MPosted Jan 10, 2010, 5:30 AM
any way i find some article for help
http://www.codeproject.com/KB/XML/csreadxml1.aspx
http://msdotnetsupport.blogspot.com/2007/04/reading-and-writing-xml-files-using-c.html
http://csharptutorial.blogspot.com/2006/10/reading-xml-fast.html