2014-05-23 21 views
2

我有一個列表,可以稱其爲SharePoint列表內部名稱創建策略

列表1 List1中名單上有字段,如以下

List1 
    ID 
    Title 

.... 我也有列表2和其像下面

List2 
ID 
Title 
Type 

列現在我增加了一個查找字段從列表2到列表1,現在我的列表1列變成

List1 
    ID 
    Title 
    List2 
    List2:Title 

當我看列表2:頭銜,我看到它的內部名稱爲List2_x003a_Title

我可以輕鬆地理解「:」被表示爲x003a 即十六進制代碼「:」是x003a

之後比我刪除列並readded它。 OOOOOO 我看到的是,該場添加了相同的外部名,但這次它的內部名稱

List2_x003A_Title

有人可以解釋的原因。當十六進制代碼是x003ax003A

回答

1

的SharePoint內部名稱創建策略:名稱是根據XML specification編碼來有效的XML名稱。

任何不符合XML 1.0 spec (fourth edition) recommendation的XML名稱字符都將被轉義爲_xHHHH_HHHH字符串代表最高有效位第一位字符的四位十六進制代碼UCS-2。例如,名稱Order Details編碼爲Order_x0020_Details

.NET Framework包含XmlConvert.EncodeName Method將名稱轉換爲有效的XML名稱。該方法保證名稱根據XML規範有效。

例子:

var fieldName = XmlConvert.EncodeName("Order Details"); //returns Order_x0020_Details 
+0

但你因此未提及關於爲什麼comverts的:焦炭到x003A在第二輪,而在第一次運行是x003a – brtb