简体   繁体   English

使用 php domdocument 在 xml 中添加 doctype

[英]adding doctype in xml with php domdocument

In php I create my XML using the domdocument:在 php 中,我使用 domdocument 创建我的 XML:

$xml_data = new DOMDocument("1.0", "UTF-8");

// create root element
$root = $xml_data->createElement("cXML");
$xml_data->appendChild($root);

etcetera

Is it possible to add this element:是否可以添加此元素:

<!DOCTYPE cXML
  SYSTEM 'http://xml.cXML.org/schemas/cXML/1.2.008/cXML.dtd'>

In to the XML with PHP domdocument, so you get:用 PHP domdocument 导入 XML,这样你就可以得到:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cXML
  SYSTEM 'http://xml.cXML.org/schemas/cXML/1.2.008/cXML.dtd'>

You can use DOMImplementation instead:您可以改用DOMImplementation

$imp = new DOMImplementation();
$xml_data = $imp->createDocument(
    null, 
    'cXML',  
    $imp->createDocumentType('cXML', 
        null, 
        'http://xml.cXML.org/schemas/cXML/1.2.008/cXML.dtd'
    )
);
$xml_data->xmlVersion="1.0";
$xml_data->encoding="UTF-8";

// No need to create root elemet, it's already there
// $root = $xml_data->createElement("cXML");
// $xml_data->appendChild($root);

etcetera

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM