0
A
回答
1
如果您在讨论PHP的输出中的嵌套标记,那么答案是肯定的。 PHP不关心你输出的字符串。
0
让我们玩了一会儿,说这是你的XML:
<?xml version="1.0" encoding="utf-8"?>
<html xmlns:mn="http://example.com">
<head>
<mn:title>Foor</mn:title>
</head>
<body>
<div>Navigation</div>
<mn:content>
Lorem ipsum
</mn:content>
</body>
</html>
它存储在$data
,你会与下面的类解析它:
class Parser {
// DOMDocument
protected $xml;
// Handles mn:title
protected function actionTitle(DOMNode $node){
$title = $this->xml->createElement('title', 'My dynamic title');
$node->parentNode->replaceChild($title, $node);
}
// Handles mn:content
protected function actionContent(DOMNode $node){
$content = $this->xml->createElement('div', 'Lorem ipsum sit dolor');
$node->parentNode->replaceChild($content, $node);
}
// Initializes data
public function __construct($data){
$this->xml = new DOMDocument();
$this->xml->preserveWhiteSpace = false;
$this->xml->loadXML($data);
$this->xml->formatOutput = true;
}
// Browse all elements
public function parse() {
$list = $this->xml->getElementsByTagNameNS('http://example.com', '*');
while($list->length){
$node = $list->item(0);
$tagName = ucfirst(substr($node->nodeName, strpos($node->nodeName, ':') + 1));
echo $tagName . "\n"; // Title, Content
$funcName = 'action' . $tagName;
$this->$funcName($node);
$list = $this->xml->getElementsByTagNameNS('http://example.com', '*');
}
}
// Get
public function get(){
return $this->xml->saveXML();
}
}
// And build some output
$parser = new Parser($data);
$parser->parse();
echo $parser->get();
我们正在采取的功能getElementsByTagNameNS()
优势,当然这只是一个沉重的例子,你需要更深入地构建它,但至少你会明白这个可能工作:)
0
嗯。评论说基本的PHP,没有模板系统。
你可以在<myns:mytag>
上开启输出缓冲,在</myns:mytag>
关闭输出缓冲,然后抓取输出并处理它。这有点笨重。 http://php.net/manual/en/book.outcontrol.php
我会看看模板系统(我会建议,一般来说),看看他们有什么提供。
相关问题
- 1. 如何在C++中打印出嵌套向量的内容?
- 2. 如何在Perl中获取嵌套的目录内容
- 3. Rails输入嵌套内容
- 4. 嵌套内容占位符
- 5. WSDL2Java失败 - 嵌套内容
- 6. Drupal 7中嵌套的内容类型
- 7. 如何检查嵌套标签的内容存在与否
- 8. 如何在Heroku上嵌套静态内容?
- 9. Scrapy:如何提取嵌套div(xpath选择器)中的内容?
- 10. 如何调用嵌套在内容页面RadDockableObject中的usercontrol内部的方法?
- 11. 如何嵌套的PHP类
- 12. 如何内嵌嵌套属性的DataTemplate?
- 13. 在PHP中嵌套的foreach()
- 14. 嵌套包括在PHP中
- 15. 如何从内容在PHP
- 16. 如何让嵌套数组在PHP
- 17. php/xpath查询:如何获取div的内容,可能嵌套的div?
- 18. 嵌套JSON在PHP
- 19. 解决嵌套在重复节内容控制中的个别内容控制
- 20. jQuery scale div内容(嵌套div)
- 21. Python的 - 文件内容嵌套列表
- 22. 与流体宽度内容嵌套clearfix
- 23. 带嵌套内容和borderRadius的图像
- 24. 循环通过嵌套括号内容
- 25. VSTO Word插件:内容控制嵌套
- 26. WordPress的嵌套简码内容
- 27. 阅读嵌套NSMutableDictionaries的内容?
- 28. 嵌套内容本地化的ASP.NET
- 29. 嵌套数组的打印内容
- 30. AJAX嵌套内容的通话
这是否与你使用的模板系统如Smarty,Twig等有关? – James 2012-03-06 13:17:24
不只是我想知道的一个基本问题 – gotch4 2012-03-06 13:29:36