Skip to content
This repository was archived by the owner on Mar 4, 2026. It is now read-only.
This repository was archived by the owner on Mar 4, 2026. It is now read-only.

Node.String()/Node.ToString indentation not working as expected #105

@whitlockjc

Description

@whitlockjc

I am trying to use Node.String() (or Node.ToString()) to generate a properly indented XML representation of the XML. No matter what I do, when using those methods I end up with each line being prepended with 4 spaces. Here is an example:

Expected

<character id="Snuffy">
  <name>Snuffy Smith</name>
  <born>1934-01-01</born>
  <qualification>volatile and diminutive moonshiner, ornery little cuss, sawed-off and shiftless</qualification>
</character>

Actual

<character id="Snuffy">
      <name>Snuffy Smith</name>
      <born>1934-01-01</born>
      <qualification>volatile and diminutive moonshiner, ornery little cuss, sawed-off and shiftless</qualification>
    </character>

I have tried passing options to Node.ToString() but I always end up with the same output. (Both node.String() and node.ToString(1, true) produce the same result above.) Before I implement some hack, I figured I'd at least reach out to make sure I'm not overlooking something.

go version

go version go1.23-20240626-RC01

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions