我想保存名称空间属性' xmlns'在xml doc中。 这是我试过的......
$xml = new DOMDocument();
$xml_index = $xml->createElement("urlset");
$root->appendChild(
$xml->createAttribute('xmlns'))->appendChild(
$xml->createTextNode('http://www.sitemaps.org/schemas/sitemap/0.9'));
for ($i = 0; $i < $count; $i++) {
$xml_sitemap = $xml->createElement("url");
$xml_loc = $xml->createElement("loc", 'http://test.com/sitemaps/'.$link[$i]);
$xml_index->appendChild( $xml_sitemap );
$xml_sitemap->appendChild( $xml_loc );
}
$xml_index->appendChild( $xml_sitemap );
$xml_sitemap->appendChild( $xml_loc );
$xml->appendChild( $xml_index );
$xml->save('\tmp\test.xml');
有人可以帮帮我吗? 我想要的格式在
之下<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>http://test.com/sitemaps/urlset_start10000.xml</loc>
</sitemap>
<sitemap>
<loc>http://test.com/sitemaps/urlset_start20000.xml</loc>
</sitemap>
</sitemapindex>
我得到的输出是,没有xmlns属性。
答案 0 :(得分:0)
作为documentation状态createElementNS应该完成工作
$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->createElementNS('http://www.example.com/XFoo', 'xfoo:test', 'This is the root element!');
$dom->appendChild($element);