xml doc upload code for you

G

Girish

Hi Guys

Enjoy the xml upload code I believe which I got from my SERVICE PROVIDER,
Now do me a favor back, can you please translate it to ASP ?

=======================================
private enum ReturnCode { Success, Error, NoData, FileIOError };



private void Page_Load(object sender, System.EventArgs e)

{

ReturnCode returnCode = ReturnCode.Success;



try

{

returnCode = Upload();

}

catch

{

returnCode = ReturnCode.Error;

}

finally

{

Response.Output.Write(
"<result><returnCode>{0}</returnCode></result>", returnCode );

}

}



private ReturnCode Upload()

{

ReturnCode returnCode = ReturnCode.Success;



//

// Make sure we have something to work with

//

int bLen = Context.Request.ContentLength;

if( bLen > 0 )

{

//

// The body contains XML formatted as ADF...

// so convert the bytes to string.

//

byte[] bytes = Context.Request.BinaryRead( bLen );

string msg = Encoding.ASCII.GetString( bytes, 0,
bLen );



//

// At this point we have some data and we expect

// it to be an ADF report, which is valid XML.

//

NameTable nt = new NameTable();

XmlNamespaceManager nsmgr = new
XmlNamespaceManager( nt );

XmlParserContext pc = new
XmlParserContext( null, nsmgr, null, XmlSpace.None );

XmlValidatingReader xmlReader = new XmlValidatingReader(
msg, XmlNodeType.Document, pc );



//

// The Microsoft XML parser cannot resolve the

// colorcombination element... so for now, just

// disable the validation.

//

xmlReader.ValidationType = ValidationType.None;



//

// Load the document

//

XPathDocument xDoc = new XPathDocument( xmlReader );

XPathNavigator nav = xDoc.CreateNavigator();



//

// Find the call id so that we can use it as a filename.

//

string cdrID = null;

XPathNodeIterator iter = nav.Select( "/adf/prospect" );

while( iter.MoveNext() && cdrID == null )

{

XPathNodeIterator prospectIter =
iter.Current.SelectChildren( XPathNodeType.Element );

while( prospectIter.MoveNext() )

{

if( string.Compare( prospectIter.Current.Name,
"id", true ) == 0 )

{

cdrID = prospectIter.Current.Value;

break;

}

}

}



try

{

if( cdrID != null )

{

string dir =
ConfigurationSettings.AppSettings[ "DataFileDir" ];

if( dir == null || dir.Length == 0 )

{

// default to the current directory

dir = ".";

}



string fileName = string.Format(
@"{0}\{1}.xml", dir, cdrID );



using( StreamWriter writer =

new StreamWriter( new
FileStream( fileName, FileMode.Create ),



System.Text.Encoding.ASCII ) )

{

writer.WriteLine( msg );

}

}

}

catch

{

returnCode = ReturnCode.FileIOError;

}

}

else

{

returnCode = ReturnCode.NoData;

}



return returnCode;

}

=======================================


Thanks

G
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top