コード例 #1
0
ファイル: JSONx.php プロジェクト: fluentdom/fluentdom
 /**
  * @see Loadable::load
  * @param string $source
  * @param string $contentType
  * @param array|\Traversable|Options $options
  * @return Document|Result|NULL
  */
 public function load($source, $contentType, $options = [])
 {
     if ($this->supports($contentType) && !empty($source)) {
         $dom = new Document();
         $dom->preserveWhiteSpace = FALSE;
         $dom->registerNamespace('jx', self::XMLNS_JSONX);
         if ($this->startsWith($source, '<')) {
             $dom->loadXML($source);
         } else {
             $dom->load($source);
         }
         $target = new Document();
         $target->registerNamespace('json', self::XMLNS_JSONDOM);
         if (isset($dom->documentElement)) {
             $this->transferNode($dom->documentElement, $target);
         }
         return $target;
     }
     return NULL;
 }