基本上我有一個腳本,更新各個地方的XML文檔...但是,我需要的文本在CDATA ...所以我試圖這:我怎樣才能得到PHP simplexml保存<本身,而不是<
$PrintQuestion->content->multichoice->feedback->hint->Passage->Paragraph->addChild('TextFragment', '<![CDATA[' . $value[0] . ']]>');
不幸的是,當我保存XML迴文件時,<和> CDATA拿出他們各自的<和$ GT;代碼有沒有辦法避免這種情況?
注:我們的解析器不知道如何閱讀<
和>
代碼,所以這是當仁不讓simple_xml對象的print_r的後一個嚴重的問題
,該<表現爲自己在源碼!
它必須是將它轉換成實體代碼的domsave ......任何想法如何禁用它?
//Convert SimpleXML element to DOM and save
$dom = new DOMDocument('1.0');
$dom->preserveWhiteSpace = false;
$dom->formatOutput = false;
$dom->loadXML($xml->asXML());
$dom->save($filename);
SimpleXML就像名稱所暗示的那樣,用於簡單的修改。如果你需要對節點進行適當的控制,你應該考慮使用DOM。 DOM有一個創建CDATA節的方法。 – Gordon 2010-08-05 20:19:41
你的解析器理解CDATA部分,但不是'<'?這很奇怪。你可能想更新你的解析器... – 2010-08-05 20:36:11
這是一個工作項目...我無法控制解析器 – ThinkingInBits 2010-08-05 20:40:18