2016-02-19

Parse simple XML data

<?xml version="1.0" encoding="UTF-8"?>
<file expr="files_152f8d105f3" name="Test.pptx" oid="123456"
  size="29651" vault="MainVault" version="1.5.1"/>

用 tDom 拿資料:

package require tdom

set xmldata {<?xml version="1.0" encoding="UTF-8"?>
<file expr="files_152f8d105f3" name="Test.pptx" oid="123456"
  size="29651" vault="MainVault" version="1.5.1"/>}

set doc [dom parse $xmldata]
set root [$doc documentElement]
set expr [$root getAttribute expr]
set name [$root getAttribute name]
set oid [$root getAttribute oid]
set size [$root getAttribute size]
set vault [$root getAttribute vault]
set version [$root getAttribute version]

不知道有沒有更簡短的寫法,看到 comp.lang.tcl 有人問自己做的練習。


PS:
如果不知道 attributes,要先取得列表,可以使用:

set attrs [$root attributes]

沒有留言: