[mapguide-users] Finding list of Mapdefinitions
Scott Hameister
ScottH at mPower-tech.com
Wed Dec 13 09:37:34 EST 2006
Thanks to All.I think that Will Work..Still looking on how to empty the
Selection through the API tho.
_____
From: Scott Reisdorf [mailto:reisdorf1 at llnl.gov]
Sent: Tuesday, December 12, 2006 5:52 PM
To: users at mapguide.osgeo.org
Subject: Re: [mapguide-users] Finding list of Mapdefinitions
And heres some parsing of XML in Java:
MgByteReader byteReader =
resourceService.EnumerateResources(resId,-1,MgResourceType.MapDefinition);
String xml = byteReader.ToString();
DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(new InputSource(new
StringReader(xml)));
NodeList nodes = document.getElementsByTagName("ResourceId");
for(int i=0;i<nodes.getLength(); i++) {
Node resNode = nodes.item(i);
String node = resNode.getFirstChild().getNodeValue();
//...
}
-scott
Dave Wilson wrote:
Here's a tiny excerpt of some DOM parsing in PHP. I haven't don't much.
Assuming you have saved the XML to $mapXml:
$doc = DOMDocument::loadXML($mapXml);
$mapNode = $doc->getElementsByTagName('ResourceId')->item(0);
$mapName = $mapNode->nodeValue;
Of course you probably need a loop to determine vary item(x). Not sure how
you do a while or find the max item(x) in XML.
Dave
From: Dave Wilson
Sent: Tuesday, December 12, 2006 4:21 PM
To: users at mapguide.osgeo.org
Subject: RE: [mapguide-users] Finding list of Mapdefinitions
Thanks Scott. Beat me to it.
With the DOM parser you can search on the <ResourceId> tag and parse the
name of the map, here's an example value:
<ResourceId>Library://QE_Data/Maps/SDF2.0_Dublin_CA83IIIF.MapDefinition</Res
ourceId>
By the way it's Library://
// and not \\ just in case you missed that too.
Dave
From: Scott Reisdorf [mailto:reisdorf1 at llnl.gov]
Sent: Tuesday, December 12, 2006 4:18 PM
To: users at mapguide.osgeo.org
Subject: Re: [mapguide-users] Finding list of Mapdefinitions
In Java you can do something like this, creating a ByteArrayOutputStream and
then displaying that stream back as a String.
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] byteBuffer = new byte[1024];
int numBytes = byteReader.Read(byteBuffer, 1024);
while(numBytes > 0)
{
bos.write(byteBuffer, 0, numBytes);
numBytes = byteReader.Read(byteBuffer, 1024);
}
System.out.println(bos.toByteArray());
or you can get straight XML back from the MgByteReader, and then parse that:
MgByteReader byteReader =
resourceService.EnumerateResources(resId,-1,MgResourceType.MapDefinition);
String xml = byteReader.ToString();
// ...parse the xml via the DOM
hope this helps
-scott
Scott Hameister wrote:
Did that, but I get an MgByteReader object with no clue how to iterate.isn't
there a count/getitem method I could use or do I have to convert to a string
and Parse or something?
From: Dave Wilson [mailto:dave.wilson at autodesk.com]
Sent: Tuesday, December 12, 2006 4:54 PM
To: users at mapguide.osgeo.org
Subject: RE: [mapguide-users] Finding list of Mapdefinitions
Try MapDefinition
Case sensitive.
:)
From: Scott Hameister [mailto:ScottH at mPower-tech.com]
Sent: Tuesday, December 12, 2006 3:53 PM
To: users at mapguide.osgeo.org
Subject: [mapguide-users] Finding list of Mapdefinitions
Pulling my Hair out I'm just trying to get a list of Mapdefinitions in the
Library:\\
I tried doing EnumerateResources on Library\\: with -1 and Mapdefinition,
but can't find an API way to get the names..Am I way off target here?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapguide-users/attachments/20061213/358a03b4/attachment.html
More information about the Mapguide-users
mailing list