2016-11-22 20 views
1

我有一個指定的端點使用[FromBody]讀取請求正文,但是當其中一個字段包含與符號(&)時,該值始終爲空。有問題的客戶端正在將XML傳遞給端點。Web Api 2 - 當變量包含與號時,FromBody對象始終爲空

public IHttpActionResult CreateStage([FromBody] JobStageWrapper stage) 

的JobStageWrapper對象

public class JobStageWrapper 
{ 
    public JobStage job { get; set; } 
} 

的Stage對象

public class JobStage 
    { 
     public string jobno { get; set; } 
     // Job Stage 
     public string jobStage { get; set; } 
     // Stage Date 
     public DateTime StageDate { get; set; } 
     public string Memo { get; set; } 
    } 

因此,舉例來說:

<memo>My name is Adam & I live in England</memo> 

,返回null

<memo>My name is Adam and I live in England</memo> 

返回一個人口稠密的對象

有沒有一種方法,我可以攔截請求機構,以取代這些特殊字符,這樣的對象總是完全填充?

謝謝!
亞當

回答

1

...中的一個字段包含一個符號(&)。有問題的客戶端正在將XML傳遞給端點。

客戶端應該確保xml被轉義。符號應&amp;

這不是一個有效的XML元素

<memo>My name is Adam & I live in England</memo> 

傳遞但這

<memo>My name is Adam &amp; I live in England</memo> 

List of XML and HTML character entity references - >Predefined entities in XML節的特殊字符在名單需要轉義的XML。

或者這裏是從SO What characters do I need to escape in XML documents?的上一個答案複製的列表。

" &quot; 
' &apos; 
< &lt; 
> &gt; 
& &amp; 
+0

謝謝 - 非常豐富的迴應,鏈接到真正有用的信息。現在一切都已經與客戶解決了。 –