xml

package
v1.6.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 18, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	XGoPackage = true
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Attr

type Attr = xml.Attr

An Attr represents an attribute in an XML element (Name=Value).

type CharData

type CharData = xml.CharData

A CharData represents XML character data (raw text), in which XML escape sequences have been replaced by the characters they represent.

type Name

type Name = xml.Name

A Name represents an XML name (Local) annotated with a name space identifier (Space). In tokens returned by [Decoder.Token], the Space identifier is given as a canonical URL, not the short prefix used in the document being parsed.

type Node

type Node struct {
	Name     xml.Name
	Attr     []xml.Attr
	Children []any // can be *Node or xml.CharData
}

Node represents a generic XML node with its name, attributes, and children.

func Parse

func Parse(r io.Reader) (doc *Node, err error)

Parse returns the parse tree for the XML from the given Reader.

func (*Node) UnmarshalXML

func (n *Node) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

UnmarshalXML implements the xml.Unmarshaler interface for the Node struct.

func (*Node) XGo_Any

func (n *Node) XGo_Any(name string) NodeSet

XGo_Any returns a NodeSet containing all descendant nodes (including the node itself) with the specified name. If name is "", it returns all nodes.

  • .**.name
  • .**.“element-name”
  • .**.*

func (*Node) XGo_Child

func (n *Node) XGo_Child() NodeSet

XGo_Child returns a NodeSet containing all child nodes of the node.

  • .*

func (*Node) XGo_Elem

func (n *Node) XGo_Elem(name string) NodeSet

XGo_Elem returns a NodeSet containing the child nodes with the specified name.

  • .name
  • .“element-name”

func (*Node) XGo_dump

func (n *Node) XGo_dump() NodeSet

_dump prints the node for debugging purposes.

type NodeSet

type NodeSet struct {
	Data iter.Seq[*Node]
	Err  error
}

NodeSet represents a set of XML nodes.

func New

func New(r io.Reader) NodeSet

New parses the XML document from the provided reader and returns a NodeSet containing the root node. If there is an error during parsing, the NodeSet's Err field is set.

func NodeSet_Cast

func NodeSet_Cast(seq iter.Seq[*Node]) NodeSet

NodeSet(seq) casts a NodeSet from a sequence of nodes.

func Nodes

func Nodes(nodes ...*Node) NodeSet

Nodes creates a NodeSet containing the provided nodes.

func Root

func Root(doc *Node) NodeSet

Root creates a NodeSet containing the provided root node.

func Source

func Source(r any) (ret NodeSet)

Source creates a NodeSet from various types of sources: - string: treated as an URL to read XML content from. - []byte: treated as raw XML content. - io.Reader: reads XML content from the reader. - *Node: creates a NodeSet containing the single provided node. - iter.Seq[*Node]: directly uses the provided sequence of nodes. - NodeSet: returns the provided NodeSet as is. If the source type is unsupported, it panics.

func (NodeSet) XGo_Any

func (p NodeSet) XGo_Any(name string) NodeSet

XGo_Any returns a NodeSet containing all descendant nodes (including the nodes themselves) with the specified name. If name is "", it returns all nodes.

  • .**.name
  • .**.“element-name”
  • .**.*

func (NodeSet) XGo_Attr__0

func (p NodeSet) XGo_Attr__0(name string) string

XGo_Attr returns the value of the specified attribute from the first node in the NodeSet. It only retrieves the attribute from the first node.

  • $name
  • $“attr-name”

func (NodeSet) XGo_Attr__1

func (p NodeSet) XGo_Attr__1(name string) (val string, err error)

XGo_Attr returns the value of the specified attribute from the first node in the NodeSet. It only retrieves the attribute from the first node.

  • $name
  • $“attr-name”

func (NodeSet) XGo_Child

func (p NodeSet) XGo_Child() NodeSet

XGo_Child returns a NodeSet containing all child nodes of the nodes in the NodeSet.

func (NodeSet) XGo_Elem

func (p NodeSet) XGo_Elem(name string) NodeSet

XGo_Elem returns a NodeSet containing the child nodes with the specified name.

  • .name
  • .“element-name”

func (NodeSet) XGo_Enum

func (p NodeSet) XGo_Enum() iter.Seq[NodeSet]

XGo_Enum returns an iterator over the nodes in the NodeSet.

func (NodeSet) XGo_Select

func (p NodeSet) XGo_Select(name string) NodeSet

XGo_Select returns a NodeSet containing the nodes with the specified name.

  • @name
  • @"element-name"

func (NodeSet) XGo_all

func (p NodeSet) XGo_all() NodeSet

_all returns a NodeSet containing all nodes. It's a cache operation for performance optimization when you need to traverse the nodes multiple times.

func (NodeSet) XGo_dump

func (p NodeSet) XGo_dump() NodeSet

_dump prints the nodes in the NodeSet for debugging purposes.

func (NodeSet) XGo_first

func (p NodeSet) XGo_first() (*Node, error)

_first returns the first node in the NodeSet.

func (NodeSet) XGo_hasAttr

func (p NodeSet) XGo_hasAttr(name string) bool

_hasAttr returns true if the first node in the NodeSet has the specified attribute. It returns false otherwise.

func (NodeSet) XGo_int

func (p NodeSet) XGo_int() (int, error)

_int retrieves the integer value from the text content of the first child text node. It only retrieves from the first node in the NodeSet.

func (NodeSet) XGo_ok added in v1.6.5

func (p NodeSet) XGo_ok() bool

_ok returns true if there is no error in the NodeSet.

func (NodeSet) XGo_one

func (p NodeSet) XGo_one() NodeSet

_one returns a NodeSet containing the first node. It's a performance optimization when you only need the first node (stop early).

func (NodeSet) XGo_single

func (p NodeSet) XGo_single() NodeSet

_single returns a NodeSet containing the single node. If there are zero or more than one nodes, it returns an error. ErrNotFound or ErrMultiEntities is returned accordingly.

func (NodeSet) XGo_text__0

func (p NodeSet) XGo_text__0() string

_text retrieves the text content of the first child xml.CharData. It only retrieves from the first node in the NodeSet.

func (NodeSet) XGo_text__1

func (p NodeSet) XGo_text__1() (val string, err error)

_text retrieves the text content of the first child xml.CharData. It only retrieves from the first node in the NodeSet.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL