.net中是否有API来读取XML注释文档文件

时间:2009-04-22 02:37:26

标签: .net xml api documentation intellisense

在这个question中,我看到微软提供了BCL的XML文档文件。我想知道是否有人知道.net中是否有可用于在运行时查找此内容的API。我知道我们可以使用XML api手动解析文件。

用例是我们允许在我们的系统中使用自定义(读取第三方)类型/程序集,在UI中选择这些类型/程序集时,我们想要提取自定义类型/程序集指定的文档创建者或如果不可用则提供其他默认值。

5 个答案:

答案 0 :(得分:6)

我在CodePlex上维护Jolt.NET项目,并实现了执行此任务的功能。有关详细信息,请参阅Jolt库。

本质上,库允许您使用System.Reflection中的元数据类型(即MethodInfoPropertyInfo等以编程方式查找和查询程序集的XML文档注释文件。 )。

答案 1 :(得分:4)

Microsoft's Sandcastle是一个工具,可以在有或没有XML注释文件的帮助下从程序集中提取文档。它已作为开源发布。您可以尝试查看该工具的代码。

答案 2 :(得分:2)

让我们考虑一下。

XML注释永远不是组装单元的一部分。因此,您正在讨论的第三方程序集将没有任何信息可供您从中提取评论。

现在,如果这些程序集可以生成包含此文档的XML文件,可能使用SandCastle或nDoc,那么您可以按照自己的意愿阅读这些XML文件。

接下来的问题是 - 假设你有这些XML doc文件,如何解析它们并阅读它们

  • 我建议使用Linq to XML快速轻松地加载此文档。这在很多方面比SandCastle所做的XSLT处理更好。只要您了解XML doc文件的XML架构/层次结构,使用Linq to XML执行此操作不应该花费那么长时间

如果您有任何问题,请告诉我这是怎么回事

答案 3 :(得分:2)

这是另一个:NuDoc: A .NET XML API Documentation Reader

它使用Visitor模式来遍历XML文档。

此处位于GitHub

答案 4 :(得分:1)