예제 #1
0
파일: Parser.php 프로젝트: poef/ariadne
 /**
  * Parses an XML string and returns a Proxy for it.
  * @param string|Proxy|null $xml
  * @param string $encoding The character set to use, defaults to UTF-8
  * @return Proxy
  */
 public function parse($xml = null, $encoding = null)
 {
     if (!$xml) {
         return Proxy(null);
     }
     if ($xml instanceof Proxy) {
         // already parsed
         return $xml->cloneNode();
     }
     $xml = (string) $xml;
     try {
         return $this->parseFull($xml, $encoding);
     } catch (\arc\UnknownError $e) {
         return $this->parsePartial($xml, $encoding);
     }
 }