Question

En TCL, si vous utilisez le paquet DOM (disponible dans la distribution ActiveState) vous pouvez créer un fichier 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]

créer ce simple xml:

<result>
    <trafficStatistics type="structure">
        <Tx_Frames type="numericlist" displayName="Tx Frames"></Tx_Frames>
    </trafficStatistics>
</result>

Comment puis-je ajouter des données à l'élément Tx_Frames?

<Tx_Frames type="numericlist" displayName="Tx Frames">some data</Tx_Frames>

Notez que le paquetage dom est en fait une enveloppe sur libxml2

Était-ce utile?

La solution

Je crois que vous voulez que la commande ::dom::document createTextNode. Par exemple:

::dom::document createTextNode $statElement "some data"

Quand j'ajoute cette commande à votre exemple de script:

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"

Il produit ce XML:

<trafficStatistics>
  <Tx_Frames type="numericlist" displayName="Tx Frames">some data</Tx_Frames>
</trafficStatistics>

Vous pouvez trouver de la documentation pour le paquetage dom ici:

http://docs.activestate.com/activetcl/8.5/tcldom index.html

Hope qui aide,

Eric Melski

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top