16Nov/09Off
google go::xmlの読込み
っていうか思いっきり間違ってるかもだけど。
<?xml version="1.0" encoding="UTF-8"?> <binchg version="1.0"> <target></target> <patch> <name>cpumodel is always 0x0e i386</name> <org>0fb60569958700 83e80d 3c21</org> <mod>0fb60569958700 31c040 3c21</mod> </patch> <patch> <name>cpumodel is always 0x0f x86_64</name> <org>0fb60566e24900</org> <mod>b80f0000009090</mod> </patch> </binchg>
なxmlをgoで読み込みたい場合、
type Patch struct { Name string; Org string; Mod string; } type Binchg struct { Target string; Patch []Patch; }
と、定義しておいて、
var result Binchg; xml.Unmarshal( patch_file, &result ) ;
で、OKっぽい。type定義の変数名を大文字で始める事でpublic扱いになって、
同名のタグを読んでくれる模様。
まー、CなりC++でも良いんだけど、
使いやすくて標準的なXMLのライブラリが無いからこういうところはgoの強みかと。
とはいえ諸々のライブラリをスタティックリンクする関係で実行オブジェクトが、
800k超えてるのがちょっと気になるといえば気になる。
同じ事をrubyだとこんな感じ
December 2nd, 2009 - 00:53
元ネタ&コメント、ありがとうございました。
golang、なんかじわじわ良くなってきてますね。
がんばっていきましょー。