feiyuanqiu
2014-12-11 11:10:48 +08:00
不要自己拼XML!
PHP有很多方法来处理XML,自己拼是最不推荐的方法
1、生成 XML 可以用 DOMDocument :
```php
// create a new document
$dom = new DOMDocument('1.0');
// create root element. and append it to the document
$book = $dom->appendChild($dom->createElement('book'));
// create the child element and append it to the book
$title = $book->appendChild($dom->createElement('title'));
// set the text and cover attribute for $title
$tilte->appendChild($dom->createTextNode('title_name'));
$title->setAttribute('edition', 3);
// format the document, and print it
$dom->formatOutput = true;
$xml = $dom->saveXML();
```
2、解析基本XML文档可以用 SimpleXML :
```php
// 从文件中加载xml文档
$sx = simplexml_load_file(__DIR__ . '/test.xml');
// 从字符串中加载
$sx = simplexml_load_string($xml);
foreach($sx->person as $person) {
$first_name = $person->firstname;
$last_name = $person->lastname;
}
```
3、解析复杂 XML 可以用 DOM :
```php
$node = dom_import_simplexml(simplexml_load_string($xml));
```
4、解析大型 XML 文档可以用 XMLReader :
```php
$reader = new XMLReader;
// load from file
$reader->open(__DIR__ . '/test.xml');
// load from variable
// $reader->XML($xml);
// loop through document
while ($reader->read()) {
// if in a element named 'author'
if ($reader->nodeType == XMLREADER::ELEMENT &&
$reader->localName == 'author') {
// move to the next node;
$reader->read();
print $reader->value . "\n";
}
}
```
另外,浏览器是会解析XML的,当你的XML是错误的时候,浏览器解析不了就不会显示出来。
这时候你可以直接查看网页源代码或者在 echo 的时候前面加个 <pre>