<?php
$books = array();
$books [] = array(
'title' => 'PHP Hacks',
'author' => 'Jack Herrington',
'publisher' => "O'Reilly"
);
$books [] = array(
'title' => 'Podcasting Hacks',
'author' => 'Jack Herrington',
'publisher' => "O'Reilly"
);
$doc = new DOMDocument();
$doc->formatOutput = true;
$r = $doc->createElement( "books" );
$doc->appendChild( $r );
foreach( $books as $book )
{
$b = $doc->createElement( "book" );
$author = $doc->createElement( "author" );
$author->appendChild(
$doc->createTextNode( $book['author'] )
);
#$author->appendChild( $doc->createTextNode( 'pavunkumar'));
$new = $doc->createElement("Developer");
$a=$doc->createTextNode('I am developer ' );
$new->appendChild($a);
$b->appendChild( $author );
$b->appendChild($new);
$b->appendChild($new);
$title = $doc->createElement( "title" );
$title->appendChild(
$doc->createTextNode( $book['title'] )
);
$b->appendChild( $title );
$publisher = $doc->createElement( "publisher" );
$publisher->appendChild(
$doc->createTextNode( $book['publisher'] )
);
$b->appendChild( $publisher );
$r->appendChild( $b );
}
echo $doc->SaveXml() ;
?>当我在命令行中运行这段代码时。我得到了以下几点
<?xml version="1.0"?>
<books>
<book>
<author>Jack Herrington</author>
<Developer>I am developer </Developer>
<title>PHP Hacks</title>
<publisher>O'Reilly</publisher>
</book>
<book>
<author>Jack Herrington</author>
<Developer>I am developer </Developer>
<title>Podcasting Hacks</title>
<publisher>O'Reilly</publisher>
</book>
</books>当我在web浏览器中运行代码时,它会显示以下内容
Jack Herrington I am developer O'Reilly Jack Herrington I am developer O'Reilly 我希望上面的输出能像命令行输出一样。还有一件事是,我如何使用$doc Dom对象创建xml文件,而不是显示。
发布于 2010-05-21 15:13:44
我可能不是正确的,但是尝试像这样发送一个报头:
Header("Content-Type: text/xml");或
Header("Content-Type: text/plain");以获得适当的结果。(当然是在运行$doc->saveXML();之前。
发布于 2010-05-22 02:56:20
将< and >转换为具有htmlspecialchars (http://ua.php.net/manual/en/function.htmlspecialchars.php)的实体,浏览器不会将其解析为html:
echo htmlspecialchars($doc->SaveXml());发布于 2010-05-21 15:11:54
这是因为您正在将XML代码输出到PHP文件(转换为HTML)中。检查您的源代码,您将看到所需的输出。如果您想获得与命令行中相同的结果,则必须将输出保存到新的XML文件中。
使用fopen创建新的XML文件。
https://stackoverflow.com/questions/2880145
复制相似问题