go-opml aims to be a Go package for parsing OPML files.
This library is forked from https://github.com/gilliek/go-opml to add the following new features
- Ability to generate a new OPML file from scratch
- Ability to add a RSS Feed from URL into an existing OPML struct
go get github.com/oxtyped/go-opml/opml
Parse OPML from file:
package main
import (
"fmt"
"log"
"github.com/oxtyped/go-opml/opml"
)
func main() {
doc, err := opml.NewOPMLFromFile("path/to/file.xml")
if err != nil {
log.Fatal(err)
}
xml, _ := doc.XML()
fmt.Println(xml)
//...
}
Parse OPML from URL:
package main
import (
"fmt"
"log"
"github.com/oxtyped/go-opml/opml"
)
func main() {
doc, err := opml.NewOPMLFromURL("http://www.example.com/file.xml")
if err != nil {
log.Fatal(err)
}
xml, _ := doc.XML()
fmt.Println(xml)
//...
}
Generate a new OPML file from scratch and add RSS feeds manually:
package main
import (
"fmt"
"log"
"github.com/oxtyped/go-opml/opml"
)
func main(){
doc := opml.NewOPMLFromBlank("title of OPML file")
doc.AddRSSFeedFromURL("http://www.example.com/rss.xml")
xml, _ := doc.XML()
fmt.Println(xml)
//...
}
Document can be found on GoWalker or GoDoc
BSD 3-clauses