# Unerwartete Transformation bei \`upsert\`/\`create\`

**URL:** https://forum.shopware.com/t/unerwartete-transformation-bei-upsert-create/68180
**Category:** Programmierung
**Created:** [7. Juli 2020 um 08:50 UTC](https://forum.shopware.com/t/unerwartete-transformation-bei-upsert-create/68180 "2020-07-07T08:50:45Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![Hansibert](https://avatars.discourse-cdn.com/v4/letter/h/8e8cbc/32.png) [@Hansibert](https://forum.shopware.com/u/Hansibert)
#### Post date: [7. Juli 2020 um 08:50 UTC](https://forum.shopware.com/t/unerwartete-transformation-bei-upsert-create/68180/1 "2020-07-07T08:50:45Z")

</div>

Hallo

Wenn ich versuche, einen XML string&nbsp;mittels `EntityRepositoryInterface::upsert`/`EntityRepositoryInterface::create` als Wert eines Datenbankfeldes zu setzen, wird bloss der `textContent` gespeichert. Die Tags werden entfernt. Beispiel:

```
// Just for demonstration we try to store some
// XML in the `customer_address.title` field.
// Other fields behave the same way.
$this->addressRepository->upsert(array(array(
	'id' => $address->getId(),
	'title' => 'ABC'
)), Context::createDefaultContext());

```

In diesem Beispiel wird nur ‘ABC’ gespeichert, die restliche Information ist verloren.

- Gibt es noch weitere solche Transformationen?
- Sind sie irgendwo spezifiziert?
- **Wie kann ich vorhersagen, was tatsächlich gespeichert wird?**
- Wie kann ich vorhersagen, ob nicht-well-formed XML/JSON/… einen Fehler verursacht?
- Wie können Benutzereingaben behandelt werden, damit sie 1:1 wieder hergesetellt werden können?

Als Notlösung beim Ratespiel wird `base64_encode` vermutlich/meistens funktionieren.
