from xml.dom import minidom
![]()
import os
![]()
![]()
![]()
#get config
![]()
configdoc = minidom.parse('config.xml')
![]()
![]()
![]()
xsdfilename = configdoc.getElementsByTagName('xsdfile')[0].attributes['name'].value
![]()
namespace = configdoc.getElementsByTagName('namespace')[0].attributes['name'].value
![]()
outputdirectory = configdoc.getElementsByTagName('outputdirectory')[0].attributes['name'].value
![]()
![]()
![]()
# load xsd file
![]()
xsddoc = minidom.parse(xsdfilename)
![]()
basenode = xsddoc.childNodes[0]
![]()
![]()
![]()
#create .cs file
![]()
for node in basenode.childNodes:
![]()
if node.nodeType == node.ELEMENT_NODE :
![]()
filename = node.attributes["name"].value
![]()
![]()
![]()
f = open(outputdirectory + filename + '.cs','w')
![]()
f.write('using System;\n')
![]()
f.write('namespace ' + namespace + '\n')
![]()
f.write('{\n\t')
![]()
f.write('class ' + filename + '\n')
![]()
f.write('\t{\n')
![]()
![]()
![]()
nodeList = node.getElementsByTagName('xsd:element')
![]()
![]()
![]()
for elementNode in nodeList :
![]()
![]()
![]()
name = elementNode.attributes["name"].value
![]()
![]()
![]()
if elementNode.hasAttribute('type') :
![]()
elementType = elementNode.attributes["type"].value
![]()
![]()
![]()
f.write('\t\tprivate ' + elementType + ' _' + name + ';\n\t\t')
![]()
f.write('public ' + elementType + ' ' + name + '\n\t\t{\n\t\t\t')
![]()
f.write('get { return _' + name + ';}\n\t\t\t')
![]()
f.write('set { _' + name + '= value;}\n')
![]()
f.write('\t\t}\n')
![]()
![]()
![]()
f.write('\n')
![]()
![]()
![]()
f.write('\t}\n')
![]()
f.write(')')
![]()
f.close()
联系客服