php - 在 PHP 中生成带有命名空间 URI 的 XML

标签 php xml dom namespaces

如何使用 DOM 用 php 制作这个“简单”的 xml?欢迎使用完整代码。

<rss version="2.0"
  xmlns:wp="http://url.com"
  xmlns:dc="http://url2.com"
>
 <channel>
  <items>
   <sometags></sometags>
   <wp:status></wp:status>
  </items>
 </channel>
</rss>

我迷路了。代码比任何解释都更能帮助我。

最佳答案

代码如下:

<?php
$dom = new DOMDocument('1.0', 'utf-8');

$rss = $dom->createElement('rss');
$dom->appendChild($rss);

$version = $dom->createAttribute('version');
$rss->appendChild($version);

$value = $dom->createTextNode('2.0');
$version->appendChild($value);

$xmlns_wp = $dom->createAttribute('xmlns:wp');
$rss->appendChild($xmlns_wp);

$value = $dom->createTextNode('http://url.com');
$xmlns_wp->appendChild($value);

$xmlns_dc = $dom->createAttribute('xmlns:dc');
$rss->appendChild($xmlns_dc);

$value = $dom->createTextNode('http://url2.com');
$xmlns_dc->appendChild($value);

$channel = $dom->createElement('channel');
$rss->appendChild($channel);

$items = $dom->createElement('items');
$channel->appendChild($items);

$sometags = $dom->createElement('sometags', '');
$items->appendChild($sometags);

$wp_status = $dom->createElement('wp:status', '');
$items->appendChild($wp_status);

echo $dom->saveXML();
?>

输出:

<?xml version="1.0" encoding="utf-8"?>
<rss 
  version="2.0" 
  xmlns:wp="http://url.com" 
  xmlns:dc="http://url2.com"
>
  <channel>
    <items>
      <sometags></sometags>
      <wp:status></wp:status>
    </items>
  </channel>
</rss>

更多帮助:http://us2.php.net/manual/en/book.dom.php

关于php - 在 PHP 中生成带有命名空间 URI 的 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1306313/

相关文章:

php - 如何在以下初学者TwiML代码中调试 “Application Error”语音提示?

php - 如何获取设置为 "active"的一对多实体的 doctrine2 实体

Android根据数组生成xml元素

Javascript DOM 操作,每次点击创建一个新的 li 元素

php - Symfony 2 Controller beforeAction 是否存在?

javascript - 如何在extjs4中添加创建窗口的功能?

python - 替换 XML 文件中的单词

php - 删除子标记名称不是值

javascript - HTML "overlay"允许点击进入它后面的元素

javascript - jQuery:仅影响属于另一个元素的子元素的特定类的元素