2009-04-14 5 views
1

DOM 패키지 (ActiveState 배포에서 사용 가능)를 사용하는 경우 TCL에서 xml을 만들 수 있습니다.ActiveState의 dom 패키지를 사용하여 요소에 데이터를 추가하는 방법

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

가 어떻게이 Tx_Frames 요소에 일부 데이터를 추가 할 수 있습니다

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을 생성? DOM을 패키지 실제로 내가 당신을 믿지 libxml2를

답변

4

에 대한 래퍼입니다

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

참고는 ::dom::document createTextNode 명령을합니다. 나는 당신의 샘플 스크립트에이 명령을 추가 할 때

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

는 : 예를 들어, 당신은 여기에 DOM 패키지에 대한 설명서를 찾을 수 있습니다

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

:

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을 생성

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

도움이 되길 바랍니다.

Eric Melski

관련 문제