[BUGFIX] Suppress empty tag names in output of array2xml 41/24841/4
authorMarkus Hoelzle <typo3@markus-hoelzle.de>
Wed, 16 Oct 2013 13:26:58 +0000 (15:26 +0200)
committerJigal van Hemert <jigal.van.hemert@typo3.org>
Wed, 16 Oct 2013 18:51:48 +0000 (20:51 +0200)
If a tag name is empty GeneralUtility::array2xml must not output that
tag at all.

Resolves: #52529
Releases: 6.2, 6.1, 6.0
Change-Id: Ib075feac25e5ba06884436db6d4be69cc428a43d
Reviewed-on: https://review.typo3.org/24841
Reviewed-by: Jigal van Hemert
Tested-by: Jigal van Hemert
typo3/sysext/core/Classes/Utility/GeneralUtility.php

index feb3a1e..24c0025 100644 (file)
@@ -2063,8 +2063,11 @@ class GeneralUtility {
                                        }
                                }
                        }
-                       // Add the element to the output string:
-                       $output .= ($spaceInd >= 0 ? str_pad('', ($level + 1) * $indentN, $indentChar) : '') . '<' . $NSprefix . $tagName . $attr . '>' . $content . '</' . $NSprefix . $tagName . '>' . $nl;
+                       if ((string)$tagName !== '') {
+                               // Add the element to the output string:
+                               $output .= ($spaceInd >= 0 ? str_pad('', ($level + 1) * $indentN, $indentChar) : '')
+                                       . '<' . $NSprefix . $tagName . $attr . '>' . $content . '</' . $NSprefix . $tagName . '>' . $nl;
+                       }
                }
                // If we are at the outer-most level, then we finally wrap it all in the document tags and return that as the value:
                if (!$level) {