根據xsd生成xml文件的c 實現(轉

2021-06-07 16:51:57 字數 3107 閱讀 4376

原文:

現在有很多的xml工具軟體都能根據xsd檔案書寫出xml文件,.net 沒有實現此方法,如是我寫了幾個瀏覽、校驗、和建立xml的方法

全部**如下:

using

system;

using

system.data;

using

system.configuration;

using

system.web;

using

system.web.security;

using

system.web.ui;

using

system.web.ui.webcontrols;

using

system.web.ui.webcontrols.webparts;

using

system.web.ui.htmlcontrols;

using

system.xml;

using

system.xml.schema;

using

system.collections;

/**/

//////

proxml 的摘要說明

///public

class

proxml

/**/

//////

獲得xsd檔案路徑

///public

static

string

getschemapath

}/**/

//////

獲理節點

//////

public

static

system.collections.generic.list

<

xmlschemaelement

>

getdatas()

system.collections.generic.list

<

xmlschemaelement

>

elements

=new

system.collections.generic.list

<

xmlschemaelement

>

();foreach

(xmlschemaobject obj 

inschema.elements.values)

}return

elements;

}/**/

//////

新增元素

//////

//////

//////

public

static

void

addelement(xmlschemaobject sourcexsd, hashtable titles, xmldocument sourcexml, xmlnode sourcend, 

string

values)}}

else

if(sourcexsd.gettype() 

==typeof

(xmlschemaelement))}}

else

}/**/

//////

獲得元素

//////

///public

static

system.collections.generic.list

<

xmlschemaelement

>

getdataitem(

string

name)

xmlschemacomplextype complex 

=element.schematype 

asxmlschemacomplextype;

xmlschemasequence sequence 

=complex.contenttypeparticle 

asxmlschemasequence;

foreach

(xmlschemaobject obj 

insequence.items)

else

}return

arr;

}public

static

void

getitem(system.collections.generic.list

<

xmlschemaelement

>

arr, xmlschemaobject obj)

else

if(obj.gettype() 

==typeof

(xmlschemachoice))

else}}

else

if(obj.gettype() 

==typeof

(xmlschemasequence))

else}}

else

}/**/

//////

根據節點名獲得節點

//////

///public

static

xmlschemaelement gettableschema(

string

name)

xmlqualifiedname qf 

=new

xmlqualifiedname(name, 

"");

if(schema.elements.contains(qf))

return

null;}

static

void

xmlvalidation(

object

sendor, validationeventargs e)

}/**/

//////

校驗dom物件

//////

///public

static

string

checkdataxml(xmldocument doc)

catch

(exception ex)

return

null;}

}

根據xsd生成xml文件

現在有很多的xml工具軟體都能根據xsd檔案書寫出xml文件,net 沒有實現此方法,如是我寫了幾個瀏覽 校驗 和建立xml的方法 全部 如下 using system using system.data using system.configuration using system.web usi...

輕量級的xml文件生成類

輕量級xml文件生成類 非dom author q3boy version v0.1 aplha update 2003 9 8 支援element cdata declare attribute comment,可選擇是否包含換行和縮排 class xml 設定元素型別 function sett...

在C 中用xsd檔案驗證xml檔案的格式正確性

person.xml 不帶命名空間 張三120 李四20 person.xsd 本文件定義persons.xml的格式 驗證方法 通過xsd驗證xml格式是否正確,正確返回空字串,錯誤返回提示 xml檔案 xsd檔案 命名空間,無則預設為null public static string xmlva...