0
如何使用tcl tdom添加單行註釋或多行註釋?在tcl中添加單行註釋tdom
例如
<book>
<!-- book 1 price -->
<name> abc </name>
<price> 150 </price>
</book>
如何使用tcl tdom添加單行註釋或多行註釋?在tcl中添加單行註釋tdom
例如
<book>
<!-- book 1 price -->
<name> abc </name>
<price> 150 </price>
</book>
這取決於你在做什麼。您可以通過創建註釋節點並將其插入到DOM樹中,或通過從列表描述符中插入或通過從腳本插入來添加註釋。
package require tdom
set doc [dom createDocument book]
set root [$doc documentElement]
$root appendChild [$doc createComment "book 1 price"]
如果你已經有一個文件,只是想在上面添加評論,你可以這樣做:
set doc [dom parse ...]
set root [$doc documentElement]
$root insertBefore [$doc createComment "book 1 price"] [$root firstChild]
如果你沒有一個文檔,需要創建name
和price
元素,逐個創建節點變得太乏味。相反,一個能做到這一點:如果你想從數據結構填充文件,並可能增加一些邏輯
set doc [dom createDocument book]
set root [$doc documentElement]
$root appendFromList {#comment "book 1 price"}
$root appendFromList {name {} {{#text abc}}}
$root appendFromList {price {} {{#text 150}}}
,你可能會想使用appendFromScript
,這意味着你需要首先定義一些命令節點。
dom createNodeCmd element book
dom createNodeCmd element name
dom createNodeCmd element a
dom createNodeCmd element price
dom createNodeCmd comment c
dom createNodeCmd text t
set doc [dom createDocument books]
set root [$doc documentElement]
set n 0
foreach {nm pr} {
abc 150
def 120
ghi 200
} {
incr n
$root appendFromScript {book id $n {
c "book $n price"
name {a href "http://what/ever?book=$n" {t $nm}}
price {t $pr}
}}
}
(注:在文檔中,則類型參數createNodeCmd
應該是elementNode
,commentNode
,textNode
等IME它可以縮寫爲一個或兩個字母,例如e
/t
/co
離開。出Node
部分似乎是一個清晰的妥協)