Can encode in XML!

This commit is contained in:
Mike Farah 2021-12-21 16:59:09 +11:00
parent 2ee9c65bc2
commit ca1c5dab59
2 changed files with 11 additions and 8 deletions

View File

@ -291,6 +291,7 @@ will output
<cool id="hi">
<foo>bar</foo>
</cool>
```
## Encode value as xml string on a single line
@ -308,6 +309,7 @@ yq eval '.a | @xml' sample.yml
will output
```yaml
<cool id="hi"><foo>bar</foo></cool>
```
## Encode value as xml string with custom indentation
@ -320,13 +322,14 @@ a:
```
then
```bash
yq eval '.a | to_xml(1)' sample.yml
yq eval '{"cat": .a | to_xml(1)}' sample.yml
```
will output
```yaml
<cool id="hi">
cat: |
<cool id="hi">
<foo>bar</foo>
</cool>
</cool>
```
## Decode a xml encoded string

View File

@ -173,7 +173,7 @@ var encoderDecoderOperatorScenarios = []expressionScenario{
document: `{a: {cool: {foo: "bar", +id: hi}}}`,
expression: `.a | to_xml`,
expected: []string{
"D0, P[a], (!!str)::<cool id=\"hi\">\n <foo>bar</foo>\n</cool>\n",
"D0, P[a], (!!str)::<cool id=\"hi\">\n <foo>bar</foo>\n</cool>\n\n",
},
},
{
@ -181,15 +181,15 @@ var encoderDecoderOperatorScenarios = []expressionScenario{
document: `{a: {cool: {foo: "bar", +id: hi}}}`,
expression: `.a | @xml`,
expected: []string{
"D0, P[a], (!!str)::<cool id=\"hi\"><foo>bar</foo></cool>\n",
"D0, P[a], (!!str)::<cool id=\"hi\"><foo>bar</foo></cool>\n\n",
},
},
{
description: "Encode value as xml string with custom indentation",
document: `{a: {cool: {foo: "bar", +id: hi}}}`,
expression: `.a | to_xml(1)`,
expression: `{"cat": .a | to_xml(1)}`,
expected: []string{
"D0, P[a], (!!str)::<cool id=\"hi\">\n <foo>bar</foo>\n</cool>\n",
"D0, P[], (!!map)::cat: |\n <cool id=\"hi\">\n <foo>bar</foo>\n </cool>\n",
},
},
{