如何将数据添加到元素与ActiveState的DOM包
-
09-09-2019 - |
题
在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
不隶属于 StackOverflow