diff --git a/src/Traits/HasContent.php b/src/Traits/HasContent.php index 9bf6664..bf4b446 100644 --- a/src/Traits/HasContent.php +++ b/src/Traits/HasContent.php @@ -4,6 +4,8 @@ namespace Saloon\XmlWrangler\Traits; +use Saloon\XmlWrangler\Data\Element; + trait HasContent { /** @@ -32,4 +34,22 @@ public function getContent(): mixed { return $this->content; } + + /** + * Recursively convert element into values + */ + public function values(): array|string + { + $content = $this->getContent(); + + if (is_array($content)) { + foreach ($content as $key => $value) { + if ($value instanceof Element) { + $content[$key] = $value->values(); + } + } + } + + return $content; + } }