在TCL,如果使用DOM包(可在ActiveState的分布),可以创建一个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]

创建此简单的XML:

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

如何一些数据添加到Tx_Frames元件?

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

请注意dom包实际上是一个包装过的libxml2

有帮助吗?

解决方案

我相信你想要的::dom::document createTextNode命令。例如:

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

当我这个命令添加到你的示例脚本:

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"

它产生此XML:

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

您可以找到dom包文档在这里:

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

希望帮助,

埃里克Melski

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top