2012-03-21 69 views
2

我正在使用sandcastle在Web服務API處進行文檔處理,並將彙總和註釋轉換爲頂層命名空間我已將sandcastle.xml文件添加到我的項目中。Sandcastle文檔xml代碼示例顯示不帶回車

我的問題是當我嘗試添加一個xml示例代碼到名稱空間備註部分 在該XML文件sandcastle呈現XML代碼都在一行中沒有任何回車。

<member name="N:BrokerServices.GatewayAsmx"> 
    <summary>summary text</summary> 
    <remarks> 
     remarks text 
     <example> 
       Sample xml code    
       <code lang="xml"> 
       <Membership> 
        <firstname>Cliff</firstname> 
        <lastname>Mayson</lastname> 
        <age>27</age> 
       </Membership> 
      </code> 
     </example> 
    </remarks> 
</member> 

的結果呈現的代碼示例顯示爲:

<Member><firstname>Cliff</firstname><lastname>Mayson</lastname><age>27</age></Member> 

我使用\ n或該工作,但\ n和\ r字符被留在代碼示例\ r嘗試:

<Member><firstname>Cliff</firstname>\n 
    <lastname>Mayson</lastname>\n 
    <age>27</age>\r 
</Member> 

如何在代碼中不顯示新行代碼的情況下插入新行。

回答

3

當代碼標記的語言屬性是xml時,您需要將xml:space =「preserve」屬性添加到xml示例的標記以正確呈現。

例如。

<member name="N:BrokerServices.GatewayAsmx"> 
    <summary>summary text</summary> 
    <remarks> 
     remarks text 
    </remarks> 
    <example> 
     Sample xml code    
     <code lang="xml" xml:space="preserve"> 
      <Membership> 
       <firstname>Cliff</firstname> 
       <lastname>Mayson</lastname> 
       <age>27</age> 
      </Membership> 
     </code> 
    </example> 
</member> 

這是沒有必要的,如果代碼標籤的lang屬性值是C#或VB

+0

+1這是一個不錯的把戲,太! – 2012-03-21 13:05:22

+0

乾杯,這個例子似乎也是最高層標籤。雖然它在嵌套評論中似乎確實有效。 – 2012-03-21 13:27:13

3

第一個選項:用&lt;替換<個字符。
第二種選擇:將您的XML代碼放入<![CDATA[ ... ]]>塊中。
第三個選項:你也可以使用替代工具,如ForgeDoc :)

還有一件事:不要把示例塊放到備註部分。 Example是頂級標籤。