diff options
Diffstat (limited to 'goencxml.go')
-rw-r--r-- | goencxml.go | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/goencxml.go b/goencxml.go new file mode 100644 index 0000000..cedbb9c --- /dev/null +++ b/goencxml.go @@ -0,0 +1,36 @@ +package main + +import ( + "bufio" + "encoding/xml" + "fmt" + "os" +) + +type article struct { + Title string `xml:"article>front>article-meta>title-group>article-title"` +} + +func process(r *bufio.Reader) { + var a article + + err := xml.NewDecoder(r).Decode(&a) + if err != nil { + fmt.Fprintf(os.Stderr, "Error when decoding XML file %q\n", err) + } + fmt.Printf("article-title: %s\n", a.Title) +} + +func main() { + for _, arg := range os.Args[1:] { + file, err := os.Open(arg) + if err != nil { + fmt.Fprintf(os.Stderr, "Error when opening file %q\n", arg) + os.Exit(1) + } + + r := bufio.NewReader(file) + process(r) + file.Close() + } +} |