2

WXR ファイルを最初から作成しようとしています (WordPress eXtended Rss)。

私のコードは、ワードプレスによって生成された XML/WXR ファイルに基づいており、次のように始まります。

<?xml version="1.0" encoding="UTF-8" ?>

<rss version="2.0"
    xmlns:excerpt="http://wordpress.org/export/1.2/excerpt/"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:wp="http://wordpress.org/export/1.2/"
>

私はこのように始めました:

$newxml = new SimpleXMLElement("<rss></rss>");
$newxml->addAttribute('version', '2.0');
$newxml->addAttribute('xmlns:excerpt', 'http://wordpress.org/export/1.2/excerpt/');
$newxml->addAttribute('xmlns:content', 'http://purl.org/rss/1.0/modules/content/');
$newxml->addAttribute('xmlns:wfw', 'http://wellformedweb.org/CommentAPI/');
$newxml->addAttribute('xmlns:dc', 'http://purl.org/dc/elements/1.1/');
$newxml->addAttribute('xmlns:wp', 'http://wordpress.org/export/1.2/');

この後、次のように XML を印刷します。

echo htmlspecialchars($newxml->asXML());

次のような XML を取得しています。

<?xml version="1.0"?>
<rss version="2.0" 
     excerpt="http://wordpress.org/export/1.2/excerpt/" 
     content="http://purl.org/rss/1.0/modules/content/" 
     wfw="http://wellformedweb.org/CommentAPI/" 
     dc="http://purl.org/dc/elements/1.1/" 
     wp="http://wordpress.org/export/1.2/">

     <channel/>
</rss>

(読みやすくするために改行を追加しました)。

「excerpt」だけでなく、「xmlns:excerpt」などの完全な属性を強制するにはどうすればよいですか?

4

1 に答える 1

3

コロンより前の部分は「名前空間」と呼ばれ、別途指定する必要があります。それaddAttributeは 3 番目のパラメーターです。

$newxml->addAttribute ('excerpt', 'http://wordpress.org/export/1.2/excerpt/', 'xmlns');
于 2013-02-11T21:42:45.077 に答える