本文整理汇总了PHP中XMLWriter::writeCdata方法的典型用法代码示例。如果您正苦于以下问题:PHP XMLWriter::writeCdata方法的具体用法?PHP XMLWriter::writeCdata怎么用?PHP XMLWriter::writeCdata使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XMLWriter
的用法示例。
在下文中一共展示了XMLWriter::writeCdata方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: writeCommon
private function writeCommon(\XMLWriter $writer, Common $common)
{
if ($common->getAuthor()) {
$writer->startElement('itunes:author');
$writer->writeCdata($common->getAuthor());
$writer->endElement();
}
if ($common->getSummary()) {
$writer->startElement('itunes:summary');
$writer->writeCdata($common->getSummary());
$writer->endElement();
}
if ($common->getBlock()) {
$writer->writeElement('itunes:block', 'Yes');
}
if ($common->getImage()) {
$writer->startElement('itunes:image');
$writer->writeAttribute('href', $common->getImage());
$writer->endElement();
}
$writer->writeElement('itunes:explicit', true === $common->getExplicit() ? 'Yes' : 'No');
if ($common->getSubtitle()) {
$writer->startElement('itunes:subtitle');
$writer->writeCdata($common->getSubtitle());
$writer->endElement();
}
}
示例2: get
public function get()
{
$posts = Model::factory('Article')->where('status', '1')->order_by_desc('point')->limit(100)->find_many();
$xml = new \XMLWriter();
$xml->openMemory();
$xml->startDocument();
$xml->startElement('urlset');
foreach ($posts as $post) {
$xml->startElement('url');
$xml->startElement('loc');
$xml->writeCdata($post->permalink());
$xml->endElement();
$xml->startElement('lastmod');
$xml->writeCdata(date(DATE_ATOM, strtotime($post->modified_at ? $post->modified_at : $post->created_at)));
$xml->endElement();
$xml->startElement('changefreq');
$xml->writeCdata('always');
$xml->endElement();
$xml->startElement('priority');
$xml->writeCdata('1.0');
$xml->endElement();
$xml->endElement();
}
$xml->endElement();
$this->data = $xml->outputMemory();
}
示例3: handleElement
/**
* Method for parsing of elements
*
* @param string $node - node name
* @param string $item - node content
* @param bool $wrap - should be wrapped in array for singularization
*
* @return void
*
* @since 1.0
*/
protected function handleElement($node, $item, $wrap = true)
{
if ($this->dispatcher->listensTo($node)) {
$this->dispatcher->trigger($node, array($this->writer, $node, $item));
} else {
if ($node === self::COMMENT) {
if (!is_array($item)) {
$item = array($item);
}
foreach ($item as $comment) {
$this->writer->writeComment($comment);
}
} elseif ($node === self::CDATA) {
$this->writer->writeCdata($item);
} else {
if ($wrap === true) {
if ($this->assertElementName($node)) {
if ($this->config->nil_on_null === true && is_null($item)) {
$this->writer->startElement($node);
$this->writer->writeAttribute('xsi:nil', 'true');
$this->writer->writeRaw($item);
$this->writer->endElement();
} else {
$this->writer->writeElement($node, $item);
}
}
} else {
$this->writer->writeRaw($item);
}
}
}
}
示例4: dumpElement
protected function dumpElement($key, $value)
{
$this->xml->startElement(strtolower(preg_replace('/[^a-zA-Z0-9]/', '', $key)));
if (is_array($value)) {
foreach ($value as $subKey => $subValue) {
$this->dumpElement($subKey, $subValue);
}
} else {
//need CDATA
if (preg_match('/[<>&]/', $value)) {
$this->xml->writeCdata($value);
} else {
$this->xml->text($value);
}
}
$this->xml->endElement();
}
示例5: generate
/**
* Generates the export
*
* @param integer $categoryId Category Id
* @param boolean $downwards If true, downwards, otherwise upward ordering
* @param string $language Language
*
* @return string
*/
public function generate($categoryId = 0, $downwards = true, $language = '')
{
global $PMF_LANG;
// Initialize categories
$this->category->transform($categoryId);
$faqdata = $this->faq->get(FAQ_QUERY_TYPE_EXPORT_XHTML, $categoryId, $downwards, $language);
$version = $this->_config->get('main.currentVersion');
$comment = sprintf('XHTML output by phpMyFAQ %s | Date: %s', $version, PMF_Date::createIsoDate(date("YmdHis")));
$this->xml->startDocument('1.0', 'utf-8');
$this->xml->writeDtd('html', '-//W3C//DTD XHTML 1.0 Transitional//EN', 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd');
$this->xml->startElement('html');
$this->xml->writeAttribute('xmlns', 'http://www.w3.org/1999/xhtml');
$this->xml->writeAttribute('xml:lang', $language);
$this->xml->writeComment($comment);
$this->xml->startElement('head');
$this->xml->writeElement('title', $this->_config->get('main.titleFAQ'));
$this->xml->startElement('meta');
$this->xml->writeAttribute('http-equiv', 'Content-Type');
$this->xml->writeAttribute('content', 'application/xhtml+xml; charset=utf-8');
$this->xml->endElement();
$this->xml->endElement();
// </head>
$this->xml->startElement('body');
$this->xml->writeAttribute('dir', $PMF_LANG['dir']);
if (count($faqdata)) {
$lastCategory = 0;
foreach ($faqdata as $data) {
if ($data['category_id'] != $lastCategory) {
$this->xml->writeElement('h1', $this->category->getPath($data['category_id'], ' >> '));
}
$this->xml->writeElement('h2', strip_tags($data['topic']));
$this->xml->startElement('p');
$this->xml->writeCdata(html_entity_decode($data['content'], ENT_QUOTES, 'UTF-8'));
$this->xml->endElement();
$this->xml->writeElement('p', $PMF_LANG['msgAuthor'] . ': ' . $data['author_email']);
$this->xml->writeElement('p', $PMF_LANG['msgLastUpdateArticle'] . PMF_Date::createIsoDate($data['lastmodified']));
$lastCategory = $data['category_id'];
}
}
$this->xml->endElement();
// </body>
$this->xml->endElement();
// </html>
header('Content-type: text/html');
return $this->xml->outputMemory();
}
示例6: writePoNumber
/**
* Write purchase order info to order
* @param Mage_Sales_Model_Order $order
* @param XMLWriter $xml
*/
public function writePoNumber($order, $xml)
{
$payment = $order->getPayment();
$xml->startElement('PO');
if ($payment) {
$xml->writeCdata($payment->getPoNumber());
}
$xml->endElement();
}
示例7: foreach
$rss->writeElement('title', $faqconfig->get('main.titleFAQ') . ' - ' . $PMF_LANG['msgNews']);
$rss->writeElement('description', html_entity_decode($faqconfig->get('main.metaDescription')));
$rss->writeElement('link', PMF_Link::getSystemUri('/feed/news/rss.php'));
if ($num > 0) {
foreach ($rssData as $item) {
// Get the url
$link = '/index.php?action=news&newsid=' . $item['id'] . '&newslang=' . $item['lang'];
if (PMF_RSS_USE_SEO) {
if (isset($item['header'])) {
$oLink = new PMF_Link($link);
$oLink->itemTitle = $item['header'];
$link = $oLink->toString();
}
}
$rss->startElement('item');
$rss->writeElement('title', html_entity_decode($item['header']));
$rss->startElement('description');
$rss->writeCdata($item['content']);
$rss->endElement();
$rss->writeElement('link', PMF_Link::getSystemUri('/feed/news/rss.php') . $link);
$rss->writeElement('pubDate', PMF_Date::createRFC822Date($item['date'], true));
$rss->endElement();
}
}
$rss->endElement();
$rss->endElement();
$rssData = $rss->outputMemory();
header('Content-Type: application/rss+xml');
header('Content-Length: ' . strlen($rssData));
print $rssData;
$db->dbclose();
示例8: writeDestino
private function writeDestino(\XMLWriter $writer, Destino $destino)
{
if ($destino instanceof DestinoNacional) {
$writer->startElement('nacional');
$writer->startElement('bairro_destinatario');
$writer->writeCdata($this->_($destino->getBairro(), 30));
$writer->endElement();
$writer->startElement('cidade_destinatario');
$writer->writeCdata($this->_($destino->getCidade(), 30));
$writer->endElement();
$writer->writeElement('uf_destinatario', $this->_($destino->getUf(), 2, false));
$writer->startElement('cep_destinatario');
$writer->writeCdata($this->_(preg_replace('/[^\\d]/', '', $destino->getCep()), 8));
$writer->endElement();
$writer->writeElement('codigo_usuario_postal');
$writer->writeElement('centro_custo_cliente');
$writer->writeElement('numero_nota_fiscal', $destino->getNumeroNotaFiscal());
$writer->writeElement('serie_nota_fiscal', $this->_($destino->getSerieNotaFiscal(), 20));
$writer->writeElement('valor_nota_fiscal', $destino->getValorNotaFiscal());
$writer->writeElement('natureza_nota_fiscal', $this->_($destino->getNaturezaNotaFiscal(), 20));
$writer->startElement('descricao_objeto');
$writer->writeCdata($this->_($destino->getDescricaoObjeto(), 20));
$writer->endElement();
$writer->writeElement('valor_a_cobrar', (double) $destino->getValorACobrar());
$writer->endElement();
} else {
if ($destino instanceof DestinoInternacional) {
$writer->startElement('internacional');
$writer->endElement();
}
}
}
示例9: exportTable
//.........这里部分代码省略.........
$arrData[] = $arrRow;
}
// xml-output
if ($exportType == 'xml') {
$objXml = new \XMLWriter();
$objXml->openMemory();
$objXml->setIndent(true);
$objXml->setIndentString("\t");
$objXml->startDocument('1.0', $strDestinationCharset != '' ? $strDestinationCharset : 'UTF-8');
$objXml->startElement($strTable);
foreach ($arrData as $row => $arrRow) {
// Headline
if ($row == 0) {
continue;
}
// New row
$objXml->startElement('datarecord');
//$objXml->writeAttribute('index', $row);
foreach ($arrRow as $i => $fieldvalue) {
// New field
$objXml->startElement($arrHeadline[$i]);
// Write Attributes
//$objXml->writeAttribute('name', $arrHeadline[$i]);
//$objXml->writeAttribute('type', gettype($fieldvalue));
//$objXml->writeAttribute('origtype', $arrFieldInfo[$arrHeadline[$i]]['type']);
// Convert to charset
if ($strDestinationCharset != '') {
$fieldvalue = iconv("UTF-8", $strDestinationCharset, $fieldvalue);
}
if (is_numeric($fieldvalue) || is_null($fieldvalue) || $fieldvalue == '') {
$objXml->text($fieldvalue);
} else {
// Write CDATA
$objXml->writeCdata($fieldvalue);
}
$objXml->endElement();
//end field-tag
}
$objXml->endElement();
// End row-tag
}
$objXml->endElement();
// End table-tag
$objXml->endDocument();
$xml = $objXml->outputMemory();
// Write output to file system
if ($strDestination != '') {
new \Folder($strDestination);
$objFolder = \FilesModel::findByPath($strDestination);
if ($objFolder !== null) {
if ($objFolder->type == 'folder' && is_dir(TL_ROOT . '/' . $objFolder->path)) {
$objFile = new \File($objFolder->path . '/' . $strTable . '_' . \Date::parse('Y-m-d_H-i-s') . '.csv');
$objFile->write($xml);
$objFile->close();
return;
}
}
}
// Send file to browser
header('Content-type: text/xml');
header('Content-Disposition: attachment; filename="' . $strTable . '.xml"');
echo $xml;
exit;
}
// csv-output
if ($exportType == 'csv') {
示例10: DublinCoreOutput
//.........这里部分代码省略.........
.'LEFT JOIN mst_location AS loc ON i.location_id=loc.location_id '
.'WHERE i.biblio_id='.$this->detail_id);
if ($_copy_q->num_rows > 0) {
while ($_copy_d = $_copy_q->fetch_assoc()) {
$_xml_output .= '<dc:hasPart><![CDATA['.utf8_encode($_copy_d['item_code']).']]></dc:hasPart>'."\n";
}
}
// digital files
$attachment_q = $this->obj_db->query('SELECT att.*, f.* FROM biblio_attachment AS att
LEFT JOIN files AS f ON att.file_id=f.file_id WHERE att.biblio_id='.$this->detail_id.' AND att.access_type=\'public\' LIMIT 20');
if ($attachment_q->num_rows > 0) {
while ($attachment_d = $attachment_q->fetch_assoc()) {
$dir = '';
if ($attachment_d['file_dir']) {
$dir = $attachment_d['file_dir'].'/';
}
$_xml_output .= '<dc:relation><![CDATA[';
// check member type privileges
if ($attachment_d['access_limit']) { continue; }
$_xml_output .= $protocol.'://'.$_SERVER['SERVER_NAME'].':'.$_SERVER['SERVER_PORT'].REPO_WBS.$dir.trim(urlencode($attachment_d['file_name']));
$_xml_output .= ']]></dc:relation>'."\n";
}
}
// image
if (!empty($this->record_detail['image'])) {
$_image = urlencode($this->record_detail['image']);
$_xml_output .= '<dc:relation><![CDATA['.$protocol.'://'.$_SERVER['SERVER_NAME'].':'.$_SERVER['SERVER_PORT'].SWB.'images/docs/'.urlencode($_image).']]></dc:relation>'."\n";
}
*/
// title
$xml->startElementNS('dc', 'title', null);
$xml->writeCdata($_title_main);
$xml->endElement();
// get the authors data
$_biblio_authors_q = $this->obj_db->query('SELECT a.*,ba.level FROM mst_author AS a' . ' LEFT JOIN biblio_author AS ba ON a.author_id=ba.author_id WHERE ba.biblio_id=' . $this->detail_id);
while ($_auth_d = $_biblio_authors_q->fetch_assoc()) {
$xml->startElementNS('dc', 'creator', null);
$xml->writeCdata($_auth_d['author_name']);
$xml->endElement();
}
$_biblio_authors_q->free_result();
// imprint/publication data
$xml->startElementNS('dc', 'publisher', null);
$xml->writeCdata($this->record_detail['publisher_name']);
$xml->endElement();
if ($this->record_detail['publish_year']) {
$xml->startElementNS('dc', 'date', null);
$xml->writeCdata($this->record_detail['publish_year']);
$xml->endElement();
} else {
$xml->startElementNS('dc', 'date', null);
$xml->fullEndElement();
}
// edition
$xml->startElementNS('dc', 'hasVersion', null);
$xml->writeCdata($this->record_detail['edition']);
$xml->endElement();
// language
$xml->startElementNS('dc', 'language', null);
$xml->writeCdata($this->record_detail['language_name']);
$xml->endElement();
// Physical Description/Collation
$xml->startElementNS('dc', 'medium', null);
$xml->writeCdata($this->record_detail['gmd_name']);
示例11: die
$writer->startElement('resultset');
$scormcontent = simplexml_load_file('scorm_content.xml') or die('wtf');
foreach ($scormcontent->children() as $scormdetails) {
$courseid = (int) $scormdetails->field['0'];
$cmid = (int) $scormdetails->field['1'];
$scormid = (int) $scormdetails->field['2'];
$coursename = (string) $scormdetails->field['3'];
$scormname = (string) $scormdetails->field['4'];
$filename = (string) $scormdetails->field['5'];
if (!file_exists($scormfolder . $filename)) {
$notfound[] = $filename;
$writer->startElement('row');
// course_id
$writer->startElement('field');
$writer->writeAttribute('name', 'course_id');
$writer->writeCdata($courseid);
$writer->endElement();
// course_module_id
$writer->startElement('field');
$writer->writeAttribute('name', 'course_module_id');
$writer->writeCdata($cmid);
$writer->endElement();
// scorm_id
$writer->startElement('field');
$writer->writeAttribute('name', 'scorm_id');
$writer->writeCdata($scormid);
$writer->endElement();
// course_name
$writer->startElement('field');
$writer->writeAttribute('name', 'course_name');
$writer->writeCdata($coursename);
开发者ID:edwinp-catalyst-eu,项目名称:generate-missing-scorm-xml,代码行数:31,代码来源:generate-missing-scorm-details-cli.php
示例12: XMLWriter
$category = new PMF_Category();
$faq = new PMF_Faq();
$records = $faq->getAllRecordPerCategory($category_id, $faqconfig->get('records.orderby'), $faqconfig->get('records.sortby'));
$rss = new XMLWriter();
$rss->openMemory();
$rss->startDocument('1.0', $PMF_LANG['metaCharset']);
$rss->startElement('rss');
$rss->writeAttribute('version', '2.0');
$rss->startElement('channel');
$rss->writeElement('title', utf8_encode($PMF_CONF['main.titleFAQ']) . ' - ');
$rss->writeElement('description', utf8_encode($PMF_CONF['main.metaDescription']));
$rss->writeElement('link', PMF_Link::getSystemUri('/feed/category/rss.php'));
if (is_array($records)) {
foreach ($records as $item) {
$rss->startElement('item');
$rss->writeElement('title', utf8_encode($item['record_title'] . ' (' . $item['visits'] . ' ' . $PMF_LANG['msgViews'] . ')'));
$rss->startElement('description');
$rss->writeCdata(utf8_encode($item['record_preview']));
$rss->endElement();
$rss->writeElement('link', utf8_encode($item['record_link']));
$rss->writeElement('pubDate', PMF_Date::createRFC822Date($item['record_date'], true));
$rss->endElement();
}
}
$rss->endElement();
$rss->endElement();
$rssData = $rss->outputMemory();
header('Content-Type: application/rss+xml');
header('Content-Length: ' . strlen($rssData));
print $rssData;
$db->dbclose();
示例13: objectToXml
/**
* Handles conversion of objects into a string format that can be exported in our
* XML format.
*
* Note: currently only ImageVariant instances are supported.
*
* @param $object
* @param \XMLWriter $xmlWriter
* @return void
*/
protected function objectToXml($object, \XMLWriter $xmlWriter)
{
$className = get_class($object);
switch ($className) {
case 'TYPO3\\Media\\Domain\\Model\\ImageVariant':
$xmlWriter->startElement('processingInstructions');
$xmlWriter->writeCdata(serialize($object->getProcessingInstructions()));
$xmlWriter->endElement();
$xmlWriter->startElement('originalImage');
$xmlWriter->writeAttribute('__type', 'object');
$xmlWriter->writeAttribute('__classname', '\\TYPO3\\Media\\Domain\\Model\\Image');
$xmlWriter->startElement('resource');
$xmlWriter->writeAttribute('__type', 'object');
$xmlWriter->writeAttribute('__classname', '\\TYPO3\\FLOW3\\Resource\\Resource');
$resource = $object->getOriginalImage()->getResource();
$xmlWriter->writeElement('filename', $resource->getFilename());
$xmlWriter->writeElement('content', base64_encode(file_get_contents($resource->getUri())));
$xmlWriter->endElement();
$xmlWriter->endElement();
break;
default:
throw new \TYPO3\TYPO3\Domain\Exception('Unsupported object of type "' . get_class($className) . '" hit during XML export.', 1347144928);
}
}
示例14: foreach
foreach ($rssData as $item) {
// Get the url
$link = str_replace($_SERVER['SCRIPT_NAME'], '/index.php', $item['url']);
if (PMF_RSS_USE_SEO) {
if (isset($item['thema'])) {
$oLink = new PMF_Link($link);
$oLink->itemTitle = html_entity_decode($item['thema'], ENT_COMPAT, 'UTF-8');
$link = html_entity_decode($oLink->toString(), ENT_COMPAT, 'UTF-8');
}
}
// Get the content
$content = $item['content'];
// Fix the content internal image references
$content = str_replace("<img src=\"/", "<img src=\"" . PMF_Link::getSystemUri('/feed/latest/rss.php') . "/", $content);
$rss->startElement('item');
$rss->writeElement('title', html_entity_decode($item['thema'], ENT_COMPAT, 'UTF-8'));
$rss->startElement('description');
$rss->writeCdata($content);
$rss->endElement();
$rss->writeElement('link', PMF_Link::getSystemUri('/feed/latest/rss.php') . $link);
$rss->writeElement('pubDate', PMF_Date::createRFC822Date($item['datum'], true));
$rss->endElement();
}
}
$rss->endElement();
$rss->endElement();
$rssData = $rss->outputMemory();
header('Content-Type: application/rss+xml');
header('Content-Length: ' . strlen($rssData));
print $rssData;
$db->dbclose();
示例15: createXmlDocument
/**
* Create a new XML document based on the $content variable.
*
* @param string $content
* @throws \ErrorException
* @return Boolean|string
*/
private function createXmlDocument(&$content)
{
libxml_use_internal_errors(true);
$xmlContent = simplexml_load_string($content);
$document = new \XMLWriter();
if (!$xmlContent) {
throw new \ErrorException('The supplied content is not an XML document');
}
if (!isset($xmlContent->children()->name)) {
return false;
}
$document->openMemory();
$document->startDocument('1.0', 'UTF-8');
$document->setIndent(true);
$document->setIndentString(' ');
$document->writeDtd(sprintf('extension PUBLIC "-//Joomla! %s//DTD template 1.0//EN" "https://intowebdevelopment.nl/dtd/joomla/%s/template-install.dtd"', DTD_JOOMLA_VERSION, DTD_JOOMLA_VERSION));
$document->startElement('extension');
$document->writeAttribute('version', TARGET_JOOMLA_VERSION);
$document->writeAttribute('type', 'template');
$document->writeAttribute('client', TARGET_JOOMLA_TEMPLATE);
$document->writeAttribute('method', 'upgrade');
$document->writeElement('name', (string) $xmlContent->children()->name);
$document->writeElement('creationDate', (string) $xmlContent->children()->creationDate ?: date('Y-m-d'));
$document->writeElement('author', (string) $xmlContent->children()->author);
$document->writeElement('authorEmail', (string) $xmlContent->children()->authorEmail);
$document->writeElement('authorUrl', (string) $xmlContent->children()->authorUrl);
$document->writeElement('version', (string) $xmlContent->children()->version);
$document->writeElement('license', (string) $xmlContent->children()->license);
$document->startElement('description');
$document->writeCdata((string) $xmlContent->children()->description);
$document->endElement();
$document->startElement('files');
$contains_templateDetails = false;
foreach ($xmlContent->children()->files->children() as $file) {
if (!is_file($this->directory . DIRECTORY_SEPARATOR . (string) $file)) {
throw new FileNotFoundException((string) $file);
}
$contains_templateDetails = false !== strpos((string) $file, 'templateDetails.xml');
$document->writeElement($file->getName(), (string) $file);
}
if (!$contains_templateDetails) {
$document->writeElement('filename', 'templateDetails.xml');
}
$document->endElement();
$document->startElement('positions');
foreach ($xmlContent->children()->positions->children() as $position) {
$document->writeElement('position', (string) $position);
}
$document->endElement();
if (isset($xmlContent->children()->languages)) {
$document->startElement('languages');
foreach ($xmlContent->children()->languages->children() as $language) {
$document->startElement('language');
$document->writeAttribute('tag', (string) $language->attributes()->tag);
$document->text((string) $language);
$document->endElement();
}
$document->endElement();
}
if (isset($xmlContent->children()->params)) {
$document->startElement('config');
$document->startElement('fields');
$document->writeAttribute('name', 'params');
if (($addPath = $xmlContent->children()->params->attributes()->addpath) && isset($addPath)) {
$document->writeAttribute('addfieldpath', (string) $addPath);
}
$document->startElement('fieldset');
$document->writeAttribute('name', 'advanced');
foreach ($xmlContent->children()->params->children() as $param) {
$document->startElement('field');
$document->writeAttribute('name', (string) $param->attributes()->name);
$document->writeAttribute('type', (string) $param->attributes()->type);
$document->writeAttribute('default', (string) $param->attributes()->default);
$document->writeAttribute('label', (string) $param->attributes()->label);
$document->writeAttribute('description', (string) $param->attributes()->description);
if (0 < $param->count()) {
foreach ($param->children() as $option) {
$document->startElement('option');
$document->writeAttribute('value', (string) $option->attributes()->value);
$document->text((string) $option);
$document->endElement();
}
}
$document->endElement();
}
$document->endElement();
$document->endElement();
$document->endElement();
}
$document->endElement();
return $content = $document->outputMemory(true);
}