From 0eaaa8fee37068bfc8ecfb760f770ecc9a7af22a Mon Sep 17 00:00:00 2001 From: Paul van Brouwershaven Date: Thu, 2 Dec 2021 17:30:36 +0100 Subject: Implement XML data support Example: ``` {{ with resources.Get "https://example.com/rss.xml" | transform.Unmarshal }} {{ range .channel.item }} {{ .title | plainify | htmlUnescape }}

{{ .description | plainify | htmlUnescape }}

{{ $link := .link | plainify | htmlUnescape }} {{ $link }}

{{ end }} {{ end }} ``` Closes #4470 --- parser/frontmatter.go | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'parser/frontmatter.go') diff --git a/parser/frontmatter.go b/parser/frontmatter.go index 79701a0fc..a99829521 100644 --- a/parser/frontmatter.go +++ b/parser/frontmatter.go @@ -23,6 +23,8 @@ import ( toml "github.com/pelletier/go-toml/v2" yaml "gopkg.in/yaml.v2" + + xml "github.com/clbanning/mxj/v2" ) const ( @@ -62,7 +64,14 @@ func InterfaceToConfig(in interface{}, format metadecoders.Format, w io.Writer) _, err = w.Write([]byte{'\n'}) return err + case metadecoders.XML: + b, err := xml.AnyXmlIndent(in, "", "\t", "root") + if err != nil { + return err + } + _, err = w.Write(b) + return err default: return errors.New("unsupported Format provided") } -- cgit v1.2.3