1

在 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 的包装器

4

1 回答 1

4

我相信你想要这个::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

希望有帮助,

埃里克·梅尔斯基

于 2009-04-14T15:25:13.120 回答