2016-06-07 67 views
0

我有一个问题:我想使用的DomDocument创建一个XML文件,我想有这样的输出:创建一个使用DOM对象白字的XML文档

<?xml version="1.0" encoding="UTF-8"?> 
<winstrom version="1.0"> 
<main_tag> 
<child_tag>example</child_tag> 
</main_tag> 
<winstrom> 

的问题是与第二行 - 如果我把它写成如下那么输出是“无效字符错误”。我想这是不允许在那里有空间字符...但是我需要这样,所以有什么选择?

$dom = new DomDocument('1.0', 'UTF-8'); 

$root = $dom->createElement('winstrom version=1.0'); 
$dom->appendChild($root); 

$item = $dom->createElement('hlavni_tag'); 
$root2->appendChild($item); 

$text = $dom->createTextNode('example'); 
$item->appendChild($text); 

$dom->formatOutput = true; 
echo $dom->saveXML(); 
+0

你可以子它的undescore,如果不是一个HTML实体  – atoms

回答

1

似乎对XML元素是什么以及它如何区别于属性存在误解。

试试这个代码:

<?php 
$dom = new DomDocument('1.0', 'UTF-8'); 

$root = $dom->createElement('winstrom'); 
$root->setAttribute("version","1.0"); 
$dom->appendChild($root); 

$root2 = $dom->createElement("main_tag"); //You forgot this part 
$root->appendChild($root2); 

$item = $dom->createElement('hlavni_tag'); //Should it be "child_tag"? 
$root2->appendChild($item); 

$text = $dom->createTextNode('example'); 
$item->appendChild($text); 

$dom->formatOutput = true; 
echo $dom->saveXML(); 
+0

先生,你应该有一个medail ......非常感谢你什么......当我现在看到它变得非常明显...需要学习... moreee! –

+0

欢迎来到SO,lada Prchal,通过点击复选标记来“接受”有用的答案是一种很好的做法。 –