我正在尝试创建一个类似于这样的 XML 文档...
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE stylesheet [
<!ENTITY nbsp " ">
<!ENTITY copy "©">
<!ENTITY reg "®">
<!ENTITY trade "™">
<!ENTITY mdash "—">
<!ENTITY ldquo "“">
<!ENTITY rdquo "”">
<!ENTITY pound "£">
<!ENTITY yen "¥">
<!ENTITY euro "€">
]>
<NewsPost>
<Post>
<PermaLink>http://news.bradfordastronomy.co.uk/?p=92</PermaLink>
<Title>Change of Venue for Monday Meetings until March 2015</Title>
<Content>Due to building work at Eccleshill library, the Monday meetings will be held at Upper Bolton Conservative Club, Idle Road, Bradford, BD2 4JN.
<span style="color: #ffff00"><strong>Update </strong></span>
The building work is taking longer than expected; however, we hope to be back at the Library by the end of March 2015.</Content></Post></NewsPost>
我正在尝试使用 PHP 来做到这一点。到目前为止我拥有的当前代码是这样的......
$imp = new DOMImplementation;
$dtd = $imp->createDocumentType('stylesheet', '', '');
$domDoc = new DOMDocument('1.0', 'utf-8');
$domDoc->preserveWhiteSpace = false;
require_once(newsFolder.'/wp-blog-header.php');
//global $post;
$args = array( 'posts_per_page' => 1 );
$myposts = get_posts( $args );
$rootElement = $domDoc->createElement('NewsPost');
$domDoc->appendChild($rootElement);
foreach( $myposts as $post ) : setup_postdata($post);
$postNode = $domDoc->createElement("Post");
$rootElement->appendChild($postNode);
$permaLinkNode = $domDoc->createElement("PermaLink",get_permalink());
$postNode->appendChild($permaLinkNode);
$titleNode = $domDoc->createElement("Title",get_the_title());
$postNode->appendChild($titleNode);
//$contentNode = $domDoc->createElement("Excerpt",get_the_excerpt());
//$postNode->appendChild($contentNode);
$contentNode = $domDoc->createElement("Content",get_the_content());
$postNode->appendChild($contentNode);
endforeach;
$domDoc->save(cacheFolder.'LatestWordPressEntry.xml');
unset($domDoc);
您会注意到没有代码将标签添加到 !DOCTYPE
我正在整个网络上查找,但看不到执行此操作的最佳实践方法。我真的不想将 XML 保存到字符串中,然后进行字符串替换(这总是一个巨大的麻烦)
对此的任何帮助将不胜感激。
基本上,我想改变
<!DOCTYPE stylesheet>
tag into
<!DOCTYPE stylesheet [
<!ENTITY nbsp " ">
<!ENTITY copy "©">
<!ENTITY reg "®">
<!ENTITY trade "™">
<!ENTITY mdash "—">
<!ENTITY ldquo "“">
<!ENTITY rdquo "”">
<!ENTITY pound "£">
<!ENTITY yen "¥">
<!ENTITY euro "€">
]>