2017-06-02 88 views
0

當我嘗試寫一些HTML文本注意,我有錯誤(我想是因爲HTML有一些禁止標籤):HTML註釋內容

Evernote.EDAM.Error.EDAMUserException 

當我使用相同的HTML有:

ENNote.Content = ENNoteContentAdvanced.NoteContentWithSanitizedHTML(HTML); 

它工作正常。

但我需要通過身份證獲取筆記以進行更新。而且我不明白我如何正確地將HTML寫入註釋(在HTML中有表格),或者通過GUID捕獲ENNote。

UPD。

我正在爲Evernotes和Microsoft Exchange Appointments(MA)之間的同步筆記(EN)編寫服務。當用戶創建/更新EN時,我的服務創建/更新MA。當用戶更新MA(從Evernote創建)時,我的服務更新EN。對於鏈接我使用EN GUID(我將它存儲在MA中的擴展屬性)。所以,我可以找到EN使用此代碼:

List<ExtendedProperty> guids = appointment.ExtendedProperties.Where(ap => ap.PropertyDefinition == guidProp).ToList(); 

if (guids.Count > 0) 
{ 
    string guid = (string)guids.First().Value; 

    Note sNote = store.GetNote(guid, true, false, false, false); 
} 

但是,當我試圖設置EN內容我有錯誤: 錯誤代碼「ENML_VALIDATION」 參數=「文件是無效的:沒有語法發現」

我不能在MA中存儲ENNoteRef,因爲它是對象,而不是字符串。所以我需要通過GUID(而不是ENNoteRef)來查找ENNote,或者在不丟失表的情況下將HTML設置爲Note.Content。

+0

你得到了什麼錯誤,你爲什麼不能通過ID讀取元素一旦你發送消毒內容到evernote – Saravanan

+0

@Saravanan,錯誤代碼「ENML_VALIDATION」,參數=「文檔無效:找不到語法」。沒有別的。閱讀每個DOM元素並構建ENML?這是最後一個痛苦,我認爲它可以輕鬆工作,因爲用ENNote我沒有錯誤。我試圖從相同的HTML創建新的筆記,它的工作。 – Dzam

回答

0

如果您提供更多圍繞ENNote.Content調用的代碼,這將有所幫助,因此我們有更多的上下文。

考慮您所提供的代碼:一旦你創建了ENNote並使用NoteContentWithSanitizedHTML功能的內容,你再用類似於以下,正確添加到筆記Evernote的服務?

ENNoteRef myNoteRef = ENSession.SharedSession.UploadNote(ENNote, null); 

當你這樣做,你得到一個NOTEREF對象,這是在Evernote的服務,以實際具體音符的參考。 NoteRef對象有一個Guid屬性,這正是您要查找的內容。

+0

是正確的。爲了更加清晰,我更新了我的帖子。 – Dzam

+0

你說過「我不能在MA中存儲ENNoteRef,因爲它反對,而不是字符串。」沒錯,但您可以訪問並存儲ENNoteRef.Guid,它是一個字符串,並且是您正在尋找的唯一標識符。 –

+0

看,我有注意的GUID。當有人改變MA時,我得到GUID,趕上EN和...並且ia有注意,注意ENNote。當我嘗試寫MA.Body(是HTML)EN.Content - 我有錯誤,我在上面描述。 – Dzam