Autore Topic: parsing e compilazione di file xml  (Letto 679 volte)

Offline adri

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Mostra profilo
parsing e compilazione di file xml
« il: 26 Febbraio 2012, 18:41:10 CET »
0
Ciao io avrei un template di file xml e la mia applicazione usa questo template per passare i risultati della sua operazione ad un server. nello specifico deve aprire il file portarsi ai tag adeguati compilare con i risultati ed inviare l'xml risultante. qualcuno potrebbe aiutarmi a realizzare questa cosa?

Offline alexAndroid

  • Utente normale
  • ***
  • Post: 185
  • Respect: +27
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Giò
  • Sistema operativo:
    Ubuntu 11.10; Windows XP
Re:parsing e compilazione di file xml
« Risposta #1 il: 27 Febbraio 2012, 11:54:57 CET »
0
Premetto che di Parsing XML non me ne sono mai occupato, però se è quello che ti serve ho trovato un suggerimento su questo forum:
 http://www.anddev.it/index.php?topic=58.0
Sei stato aiutato oppure il tuo problema è stato risolto? Allora premi il tasto THANKS E' un modo utile e carino per ringraziare chi ti è stato di aiuto.

Offline adri

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Mostra profilo
Re:parsing e compilazione di file xml
« Risposta #2 il: 27 Febbraio 2012, 19:52:31 CET »
0
Citazione
<?xml version="1.0" encoding="UTF-8"?>
<RegisterSensor service="SOS" version="1.0.0"
  xmlns="http://www.opengis.net/sos/1.0"
  xmlns:swe="http://www.opengis.net/swe/1.0.1"
  xmlns:ows="http://www.opengeospatial.net/ows"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:gml="http://www.opengis.net/gml"
  xmlns:ogc="http://www.opengis.net/ogc"
  xmlns:om="http://www.opengis.net/om/1.0"
  xmlns:sml="http://www.opengis.net/sensorML/1.0.1"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.opengis.net/sos/1.0
  http://schemas.opengis.net/sos/1.0.0/sosRegisterSensor.xsd
  http://www.opengis.net/om/1.0
  http://schemas.opengis.net/om/1.0.0/extensions/observationSpecialization_override.xsd">

  <!-- Sensor Description parameter; Currently, this has to be a sml:System -->
  <SensorDescription>
  <sml:SensorML version="1.0.1">
  <sml:member>
    <sml:System xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   
        <!--sml:identification element must contain the ID of the sensor-->
         <sml:identification>
              <sml:IdentifierList>
                   <sml:identifier>
                        <sml:Term definition="urn:ogc:def:identifier:OGC:uniqueID">
                             <sml:value>provasens1</sml:value>
                        </sml:Term>
                   </sml:identifier>
              </sml:IdentifierList>
         </sml:identification>
   
         <!-- sml:capabilities element has to contain status and mobility information -->
         <sml:capabilities>
                <swe:SimpleDataRecord>
                  <!-- status indicates, whether sensor is collecting data at the moment (true) or not (false) -->
                  <swe:field name="status">
                         <swe:Boolean>
                               <swe:value>true</swe:value>
                           </swe:Boolean>
                       </swe:field>
                       <!-- status indicates, whether sensor is mobile (true) or fixed (false) -->
                       <swe:field name="mobile">
                         <swe:Boolean>
                               <swe:value>false</swe:value>
                          </swe:Boolean>
                        </swe:field>
                  </swe:SimpleDataRecord>
         </sml:capabilities>
   
         <!-- last measured position of sensor -->
         <sml:position name="sensorPosition">
              <swe:Position referenceFrame="urn:ogc:def:crs:EPSG::4326">
                   <swe:location>
                        <swe:Vector gml:id="SENSOR_LOCATION">
                             <swe:coordinate name="longitude">
                                  <swe:Quantity>
                                       <swe:uom code="degree"/>
                                       <swe:value>7.52</swe:value>
                                  </swe:Quantity>
                             </swe:coordinate>
                             <swe:coordinate name="latitude">
                                  <swe:Quantity>
                                       <swe:uom code="degree"/>
                                       <swe:value>52.90</swe:value>
                                  </swe:Quantity>
                             </swe:coordinate>
                             <swe:coordinate name="altitude">
                                  <swe:Quantity>
                                       <swe:uom code="m"/>
                                       <swe:value>52.0</swe:value>
                                  </swe:Quantity>
                             </swe:coordinate>
                        </swe:Vector>
                   </swe:location>
              </swe:Position>
         </sml:position>
   
         <!-- list containing the input phenomena for this sensor system -->
         <sml:inputs>
              <sml:InputList>
                   <sml:input name="InterfaceAddress">
                        <swe:ObservableProperty definition="urn:ogc:def:phenomenon:OGC:1.0.30:InterfaceAddress"/>
                   </sml:input>
         <sml:input name="NextHopAddress">
                        <swe:ObservableProperty definition="urn:ogc:def:phenomenon:OGC:1.0.30:NextHopAddress"/>
                   </sml:input>
                   <sml:input name="TargetAddress">
                        <swe:ObservableProperty definition="urn:ogc:def:phenomenon:OGC:1.0.30:TargetAddress"/>
                   </sml:input>
         <sml:input name="RTT">
                        <swe:ObservableProperty definition="urn:ogc:def:phenomenon:OGC:1.0.30:RTT"/>
                   </sml:input>
         <sml:input name="HOP">
                        <swe:ObservableProperty definition="urn:ogc:def:phenomenon:OGC:1.0.30:HOP"/>
                   </sml:input>   
              </sml:InputList>
         </sml:inputs>
   
         <!-- list containing the output phenomena of this sensor system; ATTENTION: these phenomena are parsed and inserted into the database; they have to contain offering elements to determine the correct offering for the sensors and measured phenomena -->
          <sml:outputs>
               <sml:OutputList>
                    <sml:output name="InterfaceAddress">
                       <swe:Text definition="urn:ogc:def:phenomenon:OGC:1.0.30:InterfaceAddress">
                          <gml:metaDataProperty>
                             <offering>
                                 <id>TracerouteStep</id>
                                 <name>Result of traceroute step</name>
                               </offering>
                           </gml:metaDataProperty>
                        </swe:Text>
                    </sml:output>
                   
                    <sml:output name="NextHopAddress">
                       <swe:Text definition="urn:ogc:def:phenomenon:OGC:1.0.30:NextHopAddress">
                          <gml:metaDataProperty>
                             <offering>
                                 <id>TracerouteStep</id>
                                 <name>Result of traceroute step</name>
                               </offering>
                           </gml:metaDataProperty>
                        </swe:Text>
                    </sml:output>             
                   
                    <sml:output name="TargetAddress">
                       <swe:Text definition="urn:ogc:def:phenomenon:OGC:1.0.30:TargetAddress">
                          <gml:metaDataProperty>
                             <offering>
                                 <id>TracerouteStep</id>
                                 <name>Result of traceroute step</name>
                               </offering>
                           </gml:metaDataProperty>
                        </swe:Text>
                    </sml:output>         
                   
                    <sml:output name="RTT">
                       <swe:Quantity definition="urn:ogc:def:phenomenon:OGC:1.0.30:RTT">
                          <gml:metaDataProperty>
                             <offering>
                                 <id>TreacerouteStep</id>
                                 <name>Result of traceroute step</name>
                               </offering>
                           </gml:metaDataProperty>
                     <swe:uom code="ms"/>                       
                        </swe:Quantity>
                    </sml:output>
                   
                    <sml:output name="Hop">
                       <swe:Quantity definition="urn:ogc:def:phenomenon:OGC:1.0.30:Hop">
                          <gml:metaDataProperty>
                             <offering>
                                 <id>TracerouteStep</id>
                                 <name>Result of traceroute step</name>
                               </offering>
                           </gml:metaDataProperty>
                        </swe:Quantity>
                    </sml:output>
               </sml:OutputList>
          </sml:outputs>
         
    </sml:System>
  </sml:member>
  </sml:SensorML>
  </SensorDescription>
 
  <!-- ObservationTemplate parameter; this has to be an empty measurement at the moment, as the 52N SOS only supports Measurements to be inserted -->
  <ObservationTemplate>
       <om:CategoryObservation>
            <om:samplingTime/>
            <om:procedure/>
            <om:observedProperty/>
            <om:featureOfInterest></om:featureOfInterest>
            <om:result></om:result>
       </om:CategoryObservation>
  </ObservationTemplate>

</RegisterSensor>

Questo è il mio file xml praticamente io dovrei prenderlo e modificare ogni volta il campo dell'id. Ora le mie domande sono queste:
1) dove devo salvare il file template?
2) come faccio a prenderlo e modificarlo per poi inviarlo tramite HTTP?