當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Reader::readInnerXml方法代碼示例

本文整理匯總了PHP中Sabre\Xml\Reader::readInnerXml方法的典型用法代碼示例。如果您正苦於以下問題:PHP Reader::readInnerXml方法的具體用法?PHP Reader::readInnerXml怎麽用?PHP Reader::readInnerXml使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Sabre\Xml\Reader的用法示例。


在下文中一共展示了Reader::readInnerXml方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: xmlDeserialize

 /**
  * The deserialize method is called during xml parsing.
  *
  * This method is called statictly, this is because in theory this method
  * may be used as a type of constructor, or factory method.
  *
  * Often you want to return an instance of the current class, but you are
  * free to return other data as well.
  *
  * You are responsible for advancing the reader to the next element. Not
  * doing anything will result in a never-ending loop.
  *
  * If you just want to skip parsing for this element altogether, you can
  * just call $reader->next();
  *
  * $reader->parseInnerTree() will parse the entire sub-tree, and advance to
  * the next element.
  *
  * @param Reader $reader
  * @return mixed
  */
 static function xmlDeserialize(Reader $reader)
 {
     $xml = $reader->readInnerXml();
     if ($reader->nodeType === Reader::ELEMENT && $reader->isEmptyElement) {
         // Easy!
         $reader->next();
         return null;
     }
     // Now we have a copy of the inner xml, we need to traverse it to get
     // all the strings. If there's no non-string data, we just return the
     // string, otherwise we return an instance of this class.
     $reader->read();
     $nonText = false;
     $text = '';
     while (true) {
         switch ($reader->nodeType) {
             case Reader::ELEMENT:
                 $nonText = true;
                 $reader->next();
                 continue 2;
             case Reader::TEXT:
             case Reader::CDATA:
                 $text .= $reader->value;
                 break;
             case Reader::END_ELEMENT:
                 break 2;
         }
         $reader->read();
     }
     // Make sure we advance the cursor one step further.
     $reader->read();
     if ($nonText) {
         $new = new self($xml);
         return $new;
     } else {
         return $text;
     }
 }
開發者ID:BlaBlaNet,項目名稱:hubzilla,代碼行數:59,代碼來源:Complex.php

示例2: xmlDeserialize

 /**
  * The deserialize method is called during xml parsing.
  *
  * This method is called statictly, this is because in theory this method
  * may be used as a type of constructor, or factory method.
  *
  * Often you want to return an instance of the current class, but you are
  * free to return other data as well.
  *
  * You are responsible for advancing the reader to the next element. Not
  * doing anything will result in a never-ending loop.
  *
  * If you just want to skip parsing for this element altogether, you can
  * just call $reader->next();
  *
  * $reader->parseInnerTree() will parse the entire sub-tree, and advance to
  * the next element.
  *
  * @param Reader $reader
  * @return mixed
  */
 static function xmlDeserialize(Reader $reader)
 {
     $result = new self($reader->readInnerXml());
     $reader->next();
     return $result;
 }
開發者ID:sebbie42,項目名稱:casebox,代碼行數:27,代碼來源:XmlFragment.php


注:本文中的Sabre\Xml\Reader::readInnerXml方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。