Cómo añadir datos a un elemento con el paquete dom de ActiveState
-
09-09-2019 - |
Pregunta
En TCL, si se utiliza el paquete de DOM (disponible en la distribución de ActiveState) puede crear un xml.
set xmlDoc [::dom::create]
set root [::dom::document createElement $xmlDoc "trafficStatistics"]
set statElement [::dom::document createElement $root "Tx_Frames"]
::dom::element setAttribute $statElement "type" "numericlist"
::dom::element setAttribute $statElement "displayName" "Tx Frames"
puts [::dom::serialize $xmlDoc -indent true]
crear este sencillo XML:
<result>
<trafficStatistics type="structure">
<Tx_Frames type="numericlist" displayName="Tx Frames"></Tx_Frames>
</trafficStatistics>
</result>
¿Cómo puedo añadir algunos datos al elemento Tx_Frames?
<Tx_Frames type="numericlist" displayName="Tx Frames">some data</Tx_Frames>
Tenga en cuenta que el paquete dom es en realidad un envoltorio sobre libxml2
Solución
Creo desea que el comando ::dom::document createTextNode
. Por ejemplo:
::dom::document createTextNode $statElement "some data"
Al agregar este comando a su script de ejemplo:
set xmlDoc [::dom::create]
set root [::dom::document createElement $xmlDoc "trafficStatistics"]
set statElement [::dom::document createElement $root "Tx_Frames"]
::dom::element setAttribute $statElement "type" "numericlist"
::dom::element setAttribute $statElement "displayName" "Tx Frames"
::dom::document createTextNode $statElement "some data"
Se produce este XML:
<trafficStatistics>
<Tx_Frames type="numericlist" displayName="Tx Frames">some data</Tx_Frames>
</trafficStatistics>
Puede encontrar documentación para el paquete dom aquí:
http://docs.activestate.com/activetcl/8.5/tcldom /index.html
Espero que ayude,
Eric melski
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow