[mapguide-users] ByteReader Problem

Jonio, Dennis (Aviation) DJonio at miami-airport.com
Fri Aug 31 12:04:02 EDT 2007


This is what I use in real life ... I did not understand.  I was
illustrating the 8K thingee. It caught me to.  

       

     string lib_layer_definition =
resourceService.GetResourceContent(resId).ToString();

     byte[] layerDefinition = new byte[lib_layer_definition.Length];

     int byteCount = Encoding.UTF8.GetBytes(lib_layer_definition, 0,
lib_layer_definition.Length, layerDefinition, 0);

 

-----Original Message-----
From: mapguide-users-bounces at lists.osgeo.org
[mailto:mapguide-users-bounces at lists.osgeo.org] On Behalf Of Campbell,
Keith A
Sent: Friday, August 31, 2007 11:32 AM
To: MapGuide Users Mail List
Subject: RE: [mapguide-users] ByteReader Problem

 

Thanks Dennis.

 

I've tried this, but I'm only getting 8192 bytes read into the byte
buffer. This seems to be the problem mentioned by Kenneth. The Read
method doesn't seem to allow the start location for the read to be set,
so looping until the entire content of the Resource is read into the
buffer doesn't seem to be an option.

 

Presumably somebody must have found a way around this.

 

Keith

 

________________________________

From: mapguide-users-bounces at lists.osgeo.org
[mailto:mapguide-users-bounces at lists.osgeo.org] On Behalf Of Jonio,
Dennis (Aviation)
Sent: 31 August 2007 14:05
To: MapGuide Users Mail List
Subject: RE: [mapguide-users] ByteReader Problem

... this sequence tends to work     

 

     // For some reason the MgByteReader "disappears"

     // This seems to work ....

            long long_length = rs.GetResourceContent(resId).GetLength();

            byte[] byteBuffer = new byte[long_length];

            int numBytes = rs.GetResourceContent(resId).Read(byteBuffer,
(int)long_length);

 

-----Original Message-----
From: mapguide-users-bounces at lists.osgeo.org
[mailto:mapguide-users-bounces at lists.osgeo.org] On Behalf Of Campbell,
Keith A
Sent: Friday, August 31, 2007 7:10 AM
To: MapGuide Users Mail List
Subject: [mapguide-users] ByteReader Problem

 

I am trying to alter a map definition through the API and cannot get the
contents of the MgByteReader in string format. Here's the code:-

            String mapDefinition = "Library://My Folder/Maps/My
Map.MapDefinition"; 
            MgResourceIdentifier MapResID = new
MgResourceIdentifier(mapDefinition); 

            MgByteReader mapByteRdr =
res.GetResourceContent(MapResID);//res is instantiated Resource Service.


            XmlDocument doc = new XmlDocument(); 
            
            doc.LoadXml(mapByteRdr.ToString()); 

LoadXML fails with an error ' Root element is missing'. I can copy the
contents of mapByteRdr from Visual Studio at runtime and it contains
properly formatted XML for the map definition. If I use the ToFile()
method, the resultant file is empty. I cannot see why these two methods
do not return the xml string in the reader. Any help is welcome.

Cheers, 

Keith 

 

This email and any attached files are confidential and copyright
protected. If you are not the addressee, any dissemination of this
communication is strictly prohibited. Unless otherwise expressly agreed
in writing, nothing stated in this communication shall be legally
binding. 

The ultimate parent company of the Atkins Group is WS Atkins plc.
Registered in England No. 1885586. Registered Office Woodcote Grove,
Ashley Road, Epsom, Surrey KT18 5BW. 

P Consider the environment. Please don't print this e-mail unless you
really need to. 

________________________________

E-mails are automatically scanned for viruses using McAfee. 

 

This message has been scanned for viruses by MailControl
<http://bluepages.wsatkins.co.uk/?6875772> 

 

This email and any attached files are confidential and copyright
protected. If you are not the addressee, any dissemination of this
communication is strictly prohibited. Unless otherwise expressly agreed
in writing, nothing stated in this communication shall be legally
binding. 

The ultimate parent company of the Atkins Group is WS Atkins plc.
Registered in England No. 1885586. Registered Office Woodcote Grove,
Ashley Road, Epsom, Surrey KT18 5BW. 

P Consider the environment. Please don't print this e-mail unless you
really need to. 

________________________________

E-mails are automatically scanned for viruses using McAfee. 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapguide-users/attachments/20070831/4662c332/attachment.html


More information about the mapguide-users mailing list