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 に答える