2009-04-22 62 views
15

在這種question我看到微軟發佈了BCL的XML文檔文件。我想知道是否有人知道.net中的API是否可以用來在運行時查看。我知道我們可以使用XML API手動解析文件。是否有.NET API來讀取XML註釋文檔文件

使用的情況是,我們允許自定義(讀第三方)類型/組件在我們的系統中使用,並在UI選擇這些的時候,我們想抽取文檔由自定義類型指定/程序集創建者或者不可用時提供其他默認值。

+0

我建議你看一看[NDoc的(http://ndoc.sourceforge.net/) – Vikram 2009-04-28 09:35:51

+0

謝謝你,我已經做了。它不會做我以後的事情。 – 2009-04-29 08:21:03

+0

你使用了什麼或者你是如何做到的? – Vikram 2009-04-29 08:38:25

回答

6

我保持在CodePlex上的Jolt.NET項目,並實施執行這個非常任務功能。有關更多信息,請參閱Jolt庫。

在本質上,圖書館可以讓你以編程方式定位和System.Reflection使用元數據類型查詢XML文檔註釋文件組件(即MethodInfoPropertyInfo,等...)。

4

Microsoft's Sandcastle是有或沒有XML註釋文件的幫助從組件中提取文檔的工具。它已經作爲開源發佈。您可以嘗試查看該工具的代碼。

+0

嗯..我對Sandcastle的體會是它使用了XSL處理和反射。我會再檢查一次。 – 2009-04-22 04:28:24

2

讓我們想想這一點。

XML註釋是從來沒有裝配單元的一部分。所以你正在討論的第三方程序集將不會提供任何信息供你從中提取評論。

現在,如果這些組件可以生成包含這個文件,可能使用沙塔或NDoc的,那麼你就可以讀取這些XML文件作爲你想要做的XML文件。

接下來的問題是 - 假設你有這些XML文檔文件,如何對其進行解析並閱讀他們

  • 我會建議使用Linq to XML快速簡便的方法來加載此文檔。這比SandCastle所做的XSLT處理在許多方面都更好。使用LINQ to XML來做到這一點不應該那麼長,只要你理解了XML文檔文件的XML架構/層次採取

讓我知道如何繼續下去或者如果您有任何疑問