根据xml生成相应的对象类
生活随笔
收集整理的這篇文章主要介紹了
根据xml生成相应的对象类
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
根據(jù)xml生成相應(yīng)的class對象,聽起來很難其實很簡單,用xsd.exe就能辦到
打開vs 命令行運行xsd.exe 你的xml文件地址 空格/outputdir:存放xsd的地址?
ok,這是生成了xsd文件
然后再運行xsd.exe xsd文件地址 空格/classes /outputdir:class地址
具體參數(shù)
xsd file.xdr [/outputdir:directory][/parameters:file.xml] xsd file.xml [/outputdir:directory] [/parameters:file.xml] xsd file.xsd {/classes | /dataset} [/element:element] [/enableLinqDataSet] [/language:language] [/namespace:namespace] [/outputdir:directory] [URI:uri] [/parameters:file.xml] xsd {file.dll | file.exe} [/outputdir:directory] [/type:typename [...]][/parameters:file.xml]這個不是重點,重點是生成的calss能不也能用,也就是能不能序列化和反序列化并且與原數(shù)據(jù)沒任何差錯
如果你的xml很簡單,那么反序列或序列化肯定不會出什么錯,但是如果是特別復(fù)雜的xml那一定會報錯,一般報的都是無法將類型a[]轉(zhuǎn)換為類型類型a,或者反過來!
解決方案
不講什么原理之類的,只講怎么操作,其實原理我也不太懂,只是一個感覺。估計這就是只可意會不可言傳吧!
這里講的是反序列化,如果這個對象能反序列了,那序列就不用說了吧
錯誤無法將類型a[]轉(zhuǎn)換位類型a
這個就是說你的本類(它應(yīng)該說是描述xml的類)也就是你生成的類與xml數(shù)據(jù)不一致,是生成類的數(shù)組不對了(具體也說不清,改的時候在對照xml的結(jié)構(gòu)就能悟出一二了),把它改成類型a就行了
錯誤無法將類型a轉(zhuǎn)換位類型a[]
這個就是說xml映射的類與你(它應(yīng)該說是描述xml的類)生成的類的屬性描述不一致所以它識別不了(具體也說不清,改的時候在對照xml的結(jié)構(gòu)就能悟出一二了) ,所以你要將typeof里的改成a[] 這樣就ok了
歡迎指導(dǎo)---------------------------------------------------------------------
? ?
轉(zhuǎn)載于:https://www.cnblogs.com/weiwin/p/xmltoclass.html
總結(jié)
以上是生活随笔為你收集整理的根据xml生成相应的对象类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 需求基础(第二章)
- 下一篇: 算法复习(7)有序二叉树