如何使用 ActiveState 的 dom 包向元素添加数据

发布于 2024-07-17 05:36:35 字数 849 浏览 8 评论 0原文

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

In TCL, if you use the DOM package (available in the ActiveState distribution) you can create an 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]

creating this simple xml:

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

How can I add some data to the Tx_Frames element?

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

Note that the dom package is actually a wrapper over libxml2

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

仅一夜美梦 2024-07-24 05:36:35

我相信您需要 ::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

希望有帮助,

埃里克·梅尔斯基

I believe you want the ::dom::document createTextNode command. For example:

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

When I add this command to your sample 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"

It produces this XML:

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

You can find documentation for the dom package here:

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

Hope that helps,

Eric Melski

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文