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();
    
    打赏 评论

相关推荐 更多相似问题