本文整理汇总了Golang中github.com/beevik/etree.Document.ReadFromFile方法的典型用法代码示例。如果您正苦于以下问题:Golang Document.ReadFromFile方法的具体用法?Golang Document.ReadFromFile怎么用?Golang Document.ReadFromFile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/beevik/etree.Document
的用法示例。
在下文中一共展示了Document.ReadFromFile方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: doFile
//.........这里部分代码省略.........
case "id":
id = e.Value
case "class":
hasClass = true
case "auth":
state.inSkip = true
}
}
switch t.Name.Local {
case "metadata":
state.inMetadata = true
var src string
for _, e := range t.Attr {
if e.Name.Local == "src" {
src = e.Value
break
}
}
if src != "" {
if cfg.Meta_src != "" {
fmt.Fprintf(fpout, "##META text %s = %s\n", cfg.Meta_src, src)
}
srcs := make([]string, 0, 4)
if dirname != "" {
srcs = append(srcs, filepath.Join(dirname, src+".xml"), filepath.Join(dirname, src))
}
srcs = append(srcs, src+".xml", src)
for i, src := range srcs {
doc = etree.NewDocument()
err := doc.ReadFromFile(filepath.Join(cfg.Meta_dir, src))
if err == nil {
break
}
if i == len(srcs)-1 {
x(err)
}
}
for _, item := range fixed {
found := false
for _, t := range doc.FindElements(cfg.Items[item].XPath) {
value := t.Text()
if cfg.Items[item].hasFilter {
val, err := vm.Run(fmt.Sprintf("fn[%q](%q);", item, value))
x(err, "\nRunning function for "+item+":\n"+cfg.Items[item].Filter)
value = val.String()
}
if value != "" && oktype(item, value) {
found = true
fmt.Fprintf(fpout, "##META %s %s = %s\n", cfg.Items[item].Type, item, value)
}
}
if !found {
fmt.Fprintf(os.Stderr, "Niet gevonden in %s voor (%s) %s\n", currentfile, cfg.Items[item].Type, item)
fmt.Fprintf(fpout, "##META %s %s =\n", cfg.Items[item].Type, item)
}
}
hasMeta = true
fixedDone = true
}
case "meta":
meta = ""