PHP - xmlwriter_start_dtd() 函数



定义和用法

XML 是一种标记语言,用于在网络上共享数据,XML 既可以被人阅读,也可以被机器读取。XMLWriter 扩展内部使用 libxml xmlWriter API,用于写入/创建 XML 文档的内容。由此生成的 XML 文档是非缓存的且是单向的。

xmlwriter_start_dtd() 函数用于创建 DTD 标记的开始。

语法

xmlwriter_start_dtd($writer, $name, $public_id, $system_id);

参数

序号 参数及描述
1

writer(必填)

这是 XMLWriter 类的一个对象,代表您要修改/创建的 XML 文档。

2

name(必填)

这是一个字符串值,代表文档类型的限定名称。

3

public_id(可选)

这是一个字符串值,代表文档类型的限定名称。

4

system_id(可选)

这是一个字符串值,代表文档类型的限定名称。

返回值

此函数返回一个布尔值,成功时为 TRUE,失败时为 FALSE。

PHP 版本

此函数首次在 PHP 5 版本中引入,并在所有后续版本中可用。

示例

以下示例演示了 xmlwriter_start_dtd() 函数的用法:

<?php
   //Opening a writer
   $uri = "result.xml";
   $writer = xmlwriter_open_uri($uri);

   //Starting the document
   xmlwriter_start_document($writer);

   //Starting the Dtd tag
   xmlwriter_start_dtd($writer, 'test_dtd', 'pub_1001', 'sys_1001');

   //Ending the Dtd tag
   xmlwriter_end_dtd($writer); 
   xmlwriter_set_indent($writer, TRUE);
   xmlwriter_set_indent_string($writer, "    ");

   //Starting an element
   xmlwriter_start_element($writer, 'Tutorial');

   //Starting a element tag
   xmlwriter_start_element($writer, 'name');

   //Adding text to the element
   xmlwriter_text($writer, 'JavaFX');  
   xmlwriter_end_element($writer);
   xmlwriter_start_element($writer, 'Author');
   
   //Adding text to the element
   xmlwriter_text($writer, 'Krishna');  
   xmlwriter_end_element($writer);

   //Ending the element
   xmlwriter_end_element($writer);

   //Ending the document
   xmlwriter_end_document($writer);
?> 

这将生成以下 XML 文档:

<?xml version="1.0"?>
<!DOCTYPE test_dtd PUBLIC "pub_1001" "sys_1001"><Tutorial>
   <name>JavaFX</name>
   <Author>Krishna</Author>
</Tutorial>

示例

以下是此函数的面向对象风格示例:

<?php
   //Creating an XMLWriter
   $writer = new XMLWriter();

   //Opening a writer
   $uri = "result.xml";
   $writer->openUri($uri);

   //Starting the document
   $writer->startDocument();

   //Setting the indentation on
   $writer->setIndent(TRUE);
   
   //Setting the indentation
   $writer->setIndentString("    ");

   //Starting the Dtd tag
   $writer->startDtd('test_dtd', 'pub_1001', 'sys_1001');

   //Ending the Dtd tag
   $writer->endDtd(); 

   //Starting an element
   $writer->startElement('Tutorial');
   $writer->startElement('name');
   
   //Adding text to the element
   $writer->text('JavaFX');  
   $writer->endElement();
   $writer->startElement('Author');
   
   //Adding text to the element
   $writer->text('Krishna');  
   $writer->endElement();

   //Ending the element
   $writer->endElement();
   
   //Ending the document
   $writer->endDocument();
?> 

这将生成以下 XML 文档:

<?xml version="1.0"?>
<!DOCTYPE test_dtd PUBLIC "pub_1001" "sys_1001">
<Tutorial>
   <name>JavaFX</name>
   <Author>Krishna</Author>
</Tutorial>
php_function_reference.htm
广告