首先在tcl文件中包含:
package require tdom
假设有如下xml文档
set xml_info
"<root>
<beijing>10</beijing>
<henan>
<zhengzhou>20</zhengzhou>
<zhengzhou>200</zhengzhou>
<luoyang>30</luoyang>
<kaifeng>50</kaifeng>
<tianjin id = '6'>60</tianjin>
</henan>
</root>"
下面我用例子来具体实现tcl对xml的解析
set dom [dom parse $xml_info]
set doc [$dom documentElement]
1、获得标签为kaifeng下的值
两种方法:
1. [$doc selectNodes {string(/root/henan/kaifeng)}]
2. set node [$doc selectNodes /root/henan/kaifeng/text()]
[$node nodeValue]
2、修改标签为luoyang的值为40
set node [$doc selectNodes
/root/henan/luoyang
/text()]
$node nodeValue 40
set XML [$doc asXML] #将xml文档重新保存为XML字符串
3、获得第二个标签为zhegnzhou的值200
set node [$doc selectNodes
/root/henan/zhengzhou
/text()]
set node1 [lindex $node 1]
[$node1 nodeValue]