### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

There is an issue with `get-object-attributes` command which results in below error always: 
`aws --endpoint-url=http://localhost:4566 s3api get-object-attributes --bucket s3mock --key 20.txt --object-attributes "ObjectSize"`
````

> Response:  Unable to parse response (syntax error: line 1, column 0), invalid XML received. Further retries may succeed:
b'98\n5\n'
````

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

#### Using docker-compse.yaml to start localstack

docker-compse.yaml:

```
localstack:
    image: localstack/localstack:latest
    ports:
      - '4563-4599:4563-4599'
      - '8055:8080'
    environment:
      - SERVICES=s3
      - DEBUG=1
      - LS_LOG=error
      - DATA_DIR=/tmp/localstack/data
      - AWS_DEFAULT_REGION=eu-west-1
      # - EDGE_PORT=4566
    volumes:
      - "./.localstack:/tmp/localstack"
      - "/var/run/docker.sock:/var/run/docker.sock"
```

#### cli commands to reproduce the issue

1. Create a Bucket: `aws --endpoint-url=http://localhost:4566 s3 mb s3://s3mock`
2. Create an Object: `aws --endpoint-url=http://localhost:4566 s3 cp data/20.txt s3://s3mock`

File 20.txt content are 2-digit numbers separated by newline.

3. get-object-attributes for object 20.txt :
```

 aws --endpoint-url=http://localhost:4566 s3api get-object-attributes --bucket s3mock --key 20.txt --object-attributes "ObjectSize"

```
Results in error:

> Unable to parse response (syntax error: line 1, column 0), invalid XML received. Further retries may succeed:
b'98\n5\n'



### Environment

```markdown
- OS:Mac 12.x
- LocalStack:latest
- Node 14
```


### Anything else?

_No response_
for keyval_node in node:
            key_name = val_name = None
            for single_pair in keyval_node:
                # Within each <entry> there's a <key> and a <value>
                tag_name = self._node_tag(single_pair)
                if tag_name == key_location_name:
                    key_name = self._parse_shape(request, key_shape, single_pair, uri_params)
                elif tag_name == value_location_name:
                    val_name = self._parse_shape(request, value_shape, single_pair, uri_params)
                else:
                    raise ProtocolParserError("Unknown tag: %s" % tag_name)
            parsed[key_name] = val_name
        n parsed
    def _parse_list(
        self,
        request: HttpRequest,
        shape: ListShape,
        node: dict,
        
    ) -> list:
        # When we use _build_name_to_xml_node, repeated elements are aggregated
        # into a list. However, we can't tell the difference between a scalar
        # value and a single element flattened list. So before calling the
        # real _handle_list, we know that "node" should actually be a list if
        # it's flattened, and if it's not, then we make it a one element list.
        if shape.ization.get("flattened") and not isinstance(node, list):
            node = [node]
        n super(RestXMLRequesr, self)._parse_list(request, shape, node, uri_params)
    def _node_tag(self, node: ETree.Element) -> str:
        n self._namespace_re.sub("", node.tag)