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
도움이되기를 바랍니다.
에릭 멜스키
제휴하지 않습니다 StackOverflow