這不是一個特定的編程問題,而是一個請求來了解執行某些操作的正確方法。使用提供的xsd文件進行XML驗證
「The Something」:我的代碼執行用戶提供的發佈XML作爲標準輸出的PowerShell腳本。這個輸出應該遵循我們作爲軟件安裝程序一部分發布和交付的模式。我們支持輸出版本,所以客戶的XML都會有這樣的一個版本2的輸出在它們的XML根:
<my_report version="2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mycompany.com/permanent/config-2.0.xsd config-2.0.xsd">
客戶輸出XML可能不是有效的XML(因此進行驗證需求在我們消耗之前)。
我的目標是獲取版本屬性的值並確保它與提供的正確的.xsd文件名匹配,然後使用該.xsd文件驗證輸出XML。
由於輸出XML可能不是有效的,我不能依賴像XElement.Parse()這樣的東西來獲取XML到一個變量中來操作它。所以,我覺得我唯一的辦法是解析第一個元素(my_report)並使用字符串操作來做出決定。
注意:代碼運行的機器不保證能夠訪問互聯網。
我的基本問題:這是否理智?我是否在野草中做這樣的事情?如果思維不清晰,那麼什麼是好的選擇?
平臺是Windows Server 2008 R2,C#4.0控制檯應用程序類型。