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. 如何在Perl中獲取嵌套的目錄內容
- 2. 如何在C++中打印出嵌套向量的內容?
- 3. Rails輸入嵌套內容
- 4. WSDL2Java失敗 - 嵌套內容
- 5. 嵌套內容佔位符
- 6. css如何在滾動容器中的其他分層/嵌套內容時修復單個嵌套div?
- 7. 居中div內容多個嵌套divs
- 8. Drupal 7中嵌套的內容類型
- 9. 如何找到內部嵌套的內容?
- 10. 如何使用BeautifulSoup刪除嵌套標記中的內容?
- 11. Scrapy:如何提取嵌套div(xpath選擇器)中的內容?
- 12. 如何檢查嵌套標籤的內容存在與否
- 13. 如何在Heroku上嵌套靜態內容?
- 14. 如何調用嵌套在內容頁面RadDockableObject中的usercontrol內部的方法?
- 15. 如何嵌套的PHP類
- 16. php嵌套循環,如何?
- 17. 如何內嵌嵌套屬性的DataTemplate?
- 18. 如何內嵌連接嵌套表
- 19. 在PHP中嵌套的foreach()
- 20. 嵌套包括在PHP中
- 21. 如何從內容在PHP
- 22. 如何在EL內部嵌套EL?
- 23. JSON - 如何合併嵌套對象內部數組在PHP
- 24. 如何讓嵌套數組在PHP
- 25. 如何從嵌套數組,在PHP
- 26. php/xpath查詢:如何獲取div的內容,可能嵌套的div?
- 27. 嵌套JSON在PHP
- 28. Haml :: SyntaxError在/非法嵌套:內容不能同時在%li和同一行中給出並嵌套在內
- 29. 解決嵌套在重複節內容控制中的個別內容控制
- 30. XML嵌套文件夾內容
這是否與你使用的模板系統如Smarty,Twig等有關? – James 2012-03-06 13:17:24
不只是我想知道的一個基本問題 – gotch4 2012-03-06 13:29:36