Files
be.ems/crontask/xml.go.org
2023-08-14 17:02:50 +08:00

4.4 KiB

package main

import ( "encoding/xml" "io/ioutil" )

const ( / Header is a generic XML header suitable for use with the output of Marshal. / This is not automatically added to any output of this package, // it is provided as a convenience. Header = `<?xml version="1.0" encoding="UTF-8"?>` + "\n" )

type Attribute struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Type string `xml:"type,attr"` Use string `xml:"use,attr"` }

type Schema struct { XMLName xml.Name `xml:"schema"` Text string `xml:",chardata"` Xs string `xml:"xs,attr"` Xsi string `xml:"xsi,attr"` ElementFormDefault string `xml:"elementFormDefault,attr"` AttributeFormDefault string `xml:"attributeFormDefault,attr"` Element struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` ComplexType struct { Text string `xml:",chardata"` Sequence struct { Text string `xml:",chardata"` Element []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` MaxOccurs string `xml:"maxOccurs,attr"` ComplexType struct { Text string `xml:",chardata"` Sequence struct { Text string `xml:",chardata"` Element []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Type string `xml:"type,attr"` MinOccurs string `xml:"minOccurs,attr"` ComplexType struct { Text string `xml:",chardata"` Sequence struct { Text string `xml:",chardata"` MinOccurs string `xml:"minOccurs,attr"` MaxOccurs string `xml:"maxOccurs,attr"` Element struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` ComplexType struct { Text string `xml:",chardata"` SimpleContent struct { Text string `xml:",chardata"` Extension struct { Text string `xml:",chardata"` Base string `xml:"base,attr"` Attribute struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Type string `xml:"type,attr"` Use string `xml:"use,attr"` } `xml:"attribute"` } `xml:"extension"` } `xml:"simpleContent"` Sequence struct { Text string `xml:",chardata"` MinOccurs string `xml:"minOccurs,attr"` MaxOccurs string `xml:"maxOccurs,attr"` Element struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` ComplexType struct { Text string `xml:",chardata"` SimpleContent struct { Text string `xml:",chardata"` Extension struct { Text string `xml:",chardata"` Base string `xml:"base,attr"` Attribute struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Type string `xml:"type,attr"` Use string `xml:"use,attr"` } `xml:"attribute"` } `xml:"extension"` } `xml:"simpleContent"` } `xml:"complexType"` } `xml:"element"` } `xml:"sequence"` Attribute []struct { Text string `xml:",chardata"` Name string `xml:"name,attr"` Type string `xml:"type,attr"` Use string `xml:"use,attr"` } `xml:"attribute"` } `xml:"complexType"` } `xml:"element"` } `xml:"sequence"` } `xml:"complexType"` } `xml:"element"` } `xml:"sequence"` } `xml:"complexType"` } `xml:"element"` } `xml:"sequence"` } `xml:"complexType"` } `xml:"element"` }

func GenNRMXmlFile() { nrmFile := Schema{ Xs: "http://www.w3.org/2001/XMLSchema", Xsi: "http://www.w3.org/2001/XMLSchema-instance", ElementFormDefault: "qualified", AttributeFormDefault: "unqualified", Element: struct{}{Name: "DataFile"}, }

b, _ := xml.MarshalIndent(nrmFile, "", " ") b = append([]byte(xml.Header), b…) ioutil.WriteFile("D:/nrm-demo.xml", b, 0664) }