1
我有幾個XML文件,我將在我的C#代碼中使用。使用XML與XPath與XML作爲類的問題
到目前爲止,我一直在使用XPATH用於訪問XML節點/屬性
的問題是,我會得到什麼好處,如果我將XML轉換爲類文件(XSD.EXE)和可維護性方面使用它,代碼可讀性。
在這我知道,如果我添加或刪除一些節點,需要改變
在我的情況下,DLL進入GAC代碼的情況下。
我只是試圖讓你的看法
乾杯, KARTHIK
我有幾個XML文件,我將在我的C#代碼中使用。使用XML與XPath與XML作爲類的問題
到目前爲止,我一直在使用XPATH用於訪問XML節點/屬性
的問題是,我會得到什麼好處,如果我將XML轉換爲類文件(XSD.EXE)和可維護性方面使用它,代碼可讀性。
在這我知道,如果我添加或刪除一些節點,需要改變
在我的情況下,DLL進入GAC代碼的情況下。
我只是試圖讓你的看法
乾杯, KARTHIK
轉換您的XML的XSD,然後到C#類中,你可以抓住另一個文件的易用性之美。您的代碼會是這樣的:
XmlSerializer ser = new XmlSerializer(typeof(MyClass));
FileStream fstm = new FileStream(@"C:\mysample.xml", FileMode.Open, FileAccess.Read);
MyClass result = ser.Deserialize(fstm) as MyClass;
if(result != null)
{
// do whatever you want with your new class instance!
}
有了這幾行,你現在有一個代表你的XML包含正是一個對象,你可以作爲對象實例屬性訪問它的屬性 - 不是做大量的容易得多在我看來,複雜的XPath查詢到您的XML中。
而且,由於你現在有一個XSD的事實,你也可以很容易地驗證傳入的XML文件,以確保他們實際上符合定義的合同 - 這將導致更少的恆定誤差,檢查你的代碼(你不必在每個XPath之後檢查是否有任何節點(s)實際上匹配該表達式等)。
感謝您的評論。在XML作爲類的情況下,我該如何驗證xml?用異常類型throwm? – KK99 2011-02-04 06:37:32