package xml

import "github.com/aws/smithy-go/testing/xml"

package xml is xml testing package that supports xml comparison utility. The package consists of XMLToStruct and StructToXML utils that help sort xml elements as per their nesting level. XMLToStruct function converts an xml document into a sorted tree node structure, while StructToXML converts the sorted xml nodes into a sorted xml document. SortXML function should be used to sort an xml document. It can be configured to ignore indentation

Index

Functions

func SortXML

func SortXML(r io.Reader, ignoreIndentation bool) (string, error)

SortXML sorts the reader's XML elements

func StructToXML

func StructToXML(e *xml.Encoder, node *XMLNode, sorted bool) error

StructToXML writes an XMLNode to a xml.Encoder as tokens.

Types

type XMLNode

type XMLNode struct {
	Name     xml.Name              `json:",omitempty"`
	Children map[string][]*XMLNode `json:",omitempty"`
	Text     string                `json:",omitempty"`
	Attr     []xml.Attr            `json:",omitempty"`
	// contains filtered or unexported fields
}

A XMLNode contains the values to be encoded or decoded.

func NewXMLElement

func NewXMLElement(name xml.Name) *XMLNode

NewXMLElement returns a pointer to a new XMLNode initialized to default values.

func XMLToStruct

func XMLToStruct(d *xml.Decoder, s *xml.StartElement, ignoreIndentation bool) (*XMLNode, error)

XMLToStruct converts a xml.Decoder stream to XMLNode with nested values.

func (*XMLNode) AddChild

func (n *XMLNode) AddChild(child *XMLNode)

AddChild adds child to the XMLNode.

Source Files

doc.go sort.go xmlToStruct.go

Version
v1.22.3 (latest)
Published
Feb 17, 2025
Platform
linux/amd64
Imports
6 packages
Last checked
3 weeks ago

Tools for package owners.