lestrrat-go / libxml2

Interface to libxml2, with DOM interface
MIT License
230 stars 56 forks source link

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

Open whitlockjc opened 1 month ago

whitlockjc commented 1 month ago

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

lestrrat commented 4 weeks ago

@whitlockjc thanks for your reports, but I don't have much time and motivation to spend on this project right now. I may come back later, but I just can't promise you prompt response as of now. If you need to have things fixed, please consider submitting pull requests.

whitlockjc commented 3 weeks ago

By the way, the parser.XMLParseNoBlanks parser option seems to have fixed this.