@@ -6,31 +6,34 @@ class Utils
66{
77 /**
88 * Returns a XML string content as a DOMDocument or as a formated XML string
9- * @uses \DOMDocument::loadXML()
10- * @uses \DOMDocument::saveXML()
9+ * @throws \InvalidArgumentException
1110 * @param string $string
12- * @param bool $asDomDocument
13- * @return \DOMDocument|string| null
11+ * @param string $asDomDocument
12+ * @return \DOMDocument|null
1413 */
1514 public static function getFormatedXml ($ string , $ asDomDocument = false )
1615 {
17- $ dom = null ;
18- $ formated = $ string ;
19- if (!empty ($ string ) && class_exists ('\DOMDocument ' )) {
20- $ dom = new \DOMDocument ('1.0 ' , 'UTF-8 ' );
21- $ dom ->formatOutput = true ;
22- $ dom ->preserveWhiteSpace = false ;
23- $ dom ->resolveExternals = false ;
24- $ dom ->substituteEntities = false ;
25- $ dom ->validateOnParse = false ;
26- try {
27- if ($ dom ->loadXML ($ string )) {
28- $ formated = $ dom ->saveXML ();
29- }
30- } catch (\Exception $ exception ) {
31- throw new \InvalidArgumentException ('XML string is invalid ' , $ exception ->getCode (), $ exception );
32- }
16+ $ domDocument = self ::getDOMDocument ($ string );
17+ return $ asDomDocument ? $ domDocument : $ domDocument ->saveXML ();
18+ }
19+ /**
20+ * @param string $string
21+ * @throws \InvalidArgumentException
22+ * @return \DOMDocument
23+ */
24+ public static function getDOMDocument ($ string )
25+ {
26+ $ dom = new \DOMDocument ('1.0 ' , 'UTF-8 ' );
27+ $ dom ->formatOutput = true ;
28+ $ dom ->preserveWhiteSpace = false ;
29+ $ dom ->resolveExternals = false ;
30+ $ dom ->substituteEntities = false ;
31+ $ dom ->validateOnParse = false ;
32+ try {
33+ $ dom ->loadXML ($ string );
34+ } catch (\Exception $ exception ) {
35+ throw new \InvalidArgumentException ('XML string is invalid ' , $ exception ->getCode (), $ exception );
3336 }
34- return $ asDomDocument ? $ dom : $ formated ;
37+ return $ dom ;
3538 }
3639}
0 commit comments