2014-02-13 128 views
0

我得到了下面的代碼,它在表面上 - 看起來很簡單,但它不起作用。 我以某種方式無法讓for循環工作。Lotus Notes @For XML輸出中的循環

不管怎麼說,任何輸入讚賞:

_attachments_raw:[email protected]; 
_attachments_count := @Elements(_attachments_raw); 

@if(_attachments_count<>0; 
"<attachments>"+ 
@For(i :=1; 
i <= @Attachments; 
i := i + 1; 
"<attachment no=\""[email protected](i)+"\">"+ 
@Text(i) 
+"</attachment>") 
+"</attachments>" 
;"") 

最後的代碼實際上應該是這樣的:

_attachments_raw:[email protected]; 
_attachments_count := @Elements(_attachments_raw); 

@if(_attachments_count<>0; 
"<attachments>"+ 
@For(i :=1; 
i <= @Attachments; 
i := i + 1; 
"<attachment no=\""[email protected](i)+"\">"+ 
_attachmentUrlPrefix + @Text(_attachments_raw[i])+ 
+"</attachment>") 
+"</attachments>" 
;"") 

預先感謝您。

+0

你說的「不工作」是什麼意思?你期望得到什麼?你究竟得到了什麼?另外,我不清楚你爲什麼給出兩個代碼示例?你是說他們都不工作? –

+0

我想遍歷附件列表,輸出基本上是一個XML文件。第二段代碼是我最終想要的,但第一段代碼也不起作用。我試圖一步一步來做。 – Spurious

+0

那麼,你想要什麼XML,你得到的是什麼XML? –

回答

1

您需要分配一個變量,作爲你的文本中的每個for循環覆蓋,只有返回的最後一個元素。一個工作的例子是(雖然_attachment_count和@attachments在這段代碼的使用是沒有必要的,因爲兩者具有相同的值):

_attachments_raw:[email protected]; 
_attachments_count := @Elements(_attachments_raw); 


@For(i :=1; i <= @Attachments; i := i + 1; 
_attachmentElements := _attachmentElements + "<attachment no=\""[email protected](i)+"\">"+ 
_attachmentUrlPrefix + @Text(_attachments_raw[i])+ 
"</attachment>" 
); 

@if( _attachments_count<>0; 
     "<attachments>" + _attachmentElements + "</attachments>" 
     ;"") 
+0

我得到一個錯誤:「沒有很好地形成」。這裏有一個加太多的@Text(_attachments_raw [i])++「」'但是這並沒有解決這個錯誤。 – Spurious

+0

「格式不正確」:這是否意味着在嘗試讀取xml或嘗試保存公式時出現錯誤? –

+0

它在XML輸出中。你可能是德國人,如果是這樣,錯誤信息:'XML-Verarbeitungsfehler:nicht wohlgeformt' – Spurious