2012-03-21 68 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是顶级标签。