doubi2228 2015-05-28 09:05
浏览 58

使用Php创建Xml?

I want to create this type of xml by using php give me some suggestion can anyone correct this php code that i am not able to create a hierarchy. i am taking input from html form (text box)

output is :-

project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

        <model>4.0.0</model>

 <licenses>
        <license>
            <name>TODO</name>
            <url>TODO</url>
        </license>
    </licenses>

    </project>

<!-- end snippet -->

php code:-

$xmlns = 'http://maven.apache.org/POM/4.0';
$document = new DOMDocument();
$project = $document
  ->appendChild($document->createElementNS($xmlns, 'project'));
$project->setAttributeNS(
  
  'http://www.w3.org/2001/XMLSchema-instance',  
  'xsi:schemaLocation',
  'http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd'
);

$project
  ->appendChild($document->createElementNS($xmlns, 'url'))
  ->appendChild($document->createTextNode($text5));


$project
  ->appendChild($document->createElementNS($xmlns, 'licenses')) 
  ->appendChild($document->createElementNS($xmlns, 'license')) 
  ->appendChild($document->createElementNS($xmlns, 'url')) 
  ->appendChild($document->createTextNode($text6));
   ->appendChild($document->createElementNS($xmlns, 'name')) 
  ->appendChild($document->createTextNode($text7));
 

$document->save("d.xml");

?>

</div>
  • 写回答

1条回答 默认 最新

  • duanke0555 2015-05-28 09:17
    关注

    PHP supports the DOM 3 Api. You create nodes and append them to the document.

    The XML in your question uses a namespace, so you have to create nodes for this namespace (use the *NS variants of the methods). This adds namespace definitions as needed.

    $xmlns = 'http://maven.apache.org/POM/4.0';
    $document = new DOMDocument();
    $project = $document
      ->appendChild($document->createElementNS($xmlns, 'project'));
    $project->setAttributeNS(
      'http://www.w3.org/2001/XMLSchema-instance',  
      'xsi:schemaLocation',
      'http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd'
    );
    $project
      ->appendChild($document->createElementNS($xmlns, 'model'))
      ->appendChild($document->createTextNode('4.0.0'));
    
    $document->formatOutput = TRUE;
    echo $document->saveXml();
    
    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题