Pergunta

Em TCL, se você usar o pacote DOM (disponível na distribuição ActiveState) você pode criar um 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]

criar este xml simples:

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

Como posso adicionar alguns dados para o elemento Tx_Frames?

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

Note que o pacote dom é realmente um wrapper sobre libxml2

Foi útil?

Solução

Eu acredito que você deseja que o comando ::dom::document createTextNode. Por exemplo:

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

Quando eu adicionar este comando para seu script de exemplo:

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"

Ela produz este XML:

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

Você pode encontrar documentação para o pacote dom aqui:

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

Espero que ajude,

Eric Melski

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top