2014-03-19 34 views
0

在Google Apps腳本(不是Google腳本而是Caja-ed Javascript)中的Javascript文件中,我想將字符串解析爲XML文檔。 GAS以外工作的:parseXML在Google Apps腳本中返回INVALID XML

$.parseXML("<root><message>Hello World</message></root>"); 

但在GS文件:

<script type="text/javascript"> 
var xml = $.parseXML("<root><message>Hello World</message></root>"); 
alert(xml); 
</script> 

的parseXML聲稱我的XML是無效的。我認爲,無論預處理GAS對我的JavaScript(Caja?)做什麼,這都很奇怪。有解決方案嗎?我試過用Jquery 1.11和1.9.0

+1

也許是因爲它缺少'<?xml version =「1.0」?>' – epascarello

+0

我試過了,它仍然不滿意。它也似乎並不在乎你是否添加了一個<!DOCTYPE root>標籤。 – user1464700

回答

1

不幸的是,Caja不支持XML DOM。

如果有人有興趣怎樣才能促進這種支持,主要增加的DOM馴服分量將需要的是:

  • 支持XML命名空間。 (當前假定所有元素和屬性都位於(X)HTML名稱空間中)。
  • 支持與「虛擬幀」(或規範語言,瀏覽上下文)關聯的「惰性」Document。對於不同的例子,在惰性文檔中,您應該能夠在沒有Caja的情況下插入一個<html:script>元素,從而得出應該實際執行的腳本。
+0

謝謝!這就是答案。快速問題 - Caja的活動代碼庫在哪裏?仍然只在代碼谷歌,或有一個規範的Git回購的地方? – user1464700

+0

是的,Caja託管在Google Code SVN上。最後一個話題出現的時候,普遍認爲從Subversion切換到Git是合理的,但實際上並沒有發生(並且需要對工作流工具進行一些修改)。 –

相關問題