private void StartWork() { // xsd.exe CbcXML_v2.0.xsd /Classes oecdcbctypes_v5.0.xsd /Classes isocbctypes_v1.1.xsd var cbc_oecd = new CBC_OECD(); ExcelPackage.LicenseContext = OfficeOpenXml.LicenseContext.NonCommercial; using (var package = new ExcelPackage(xlsxFile)) { gloabalDocSpec = new DocSpec_Type { DocTypeIndic = GetOECDDocTypeIndicEnumType(GetExcelStringValue(package, "CoverPage", "B24")), // (S: CoverPage; Cells: B24) DocRefId = GetExcelStringValue(package, "CoverPage", "B25"), // "ZA2018DOCBAW", // (S: CoverPage; Cells: B25) CorrDocRefId = "", CorrMessageRefId = "" }; cbc_oecd.version = "2.0"; cbc_oecd.MessageSpec = GetMessageSpec(package); cbc_oecd.CbcBody = GetCbcBodies(package).ToArray(); } var xml = ""; XmlSerializer xsSubmit = new XmlSerializer(typeof(CBC_OECD)); using (var sww = new StringWriter()) { XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true; settings.NewLineOnAttributes = true; using (XmlWriter writer = XmlWriter.Create(sww, settings)) { xsSubmit.Serialize(writer, cbc_oecd); xml = sww.ToString(); // Your XML } } using (StreamWriter file = new StreamWriter(xmlFilePath)) { file.Write(xml); } }
private void StartWork() { // xsd.exe CbcXML_v1.0.1.xsd /Classes oecdtypes_v4.1.xsd /Classes isocbctypes_v1.0.1.xsd var cbc_oecd = new CBC_OECD(); ExcelPackage.LicenseContext = OfficeOpenXml.LicenseContext.NonCommercial; using (var package = new ExcelPackage(xlsxFile)) { gloabalDocSpec = new DocSpec_Type { DocTypeIndic = EnumLookup.GetOECDDocTypeIndicEnumType(GetExcelStringValue(package, "CoverPage", "B24")), // (S: CoverPage; Cells: B24) DocRefId = GetExcelStringValue(package, "CoverPage", "B25"), // "ZA2018DOCBAW", // (S: CoverPage; Cells: B25) CorrDocRefId = "", CorrMessageRefId = "" }; cbc_oecd.version = "1.0"; cbc_oecd.MessageSpec = GetMessageSpec(package); cbc_oecd.CbcBody = GetCbcBodies(package).ToArray(); } }
public DocSpec_Type GetDocSpec(ExcelPackage package, string docTypeIndic, string docRefId, string corrDocRefId, string corrMessageRefId) { DocSpec_Type docSpec = new DocSpec_Type { DocTypeIndic = EnumLookup.GetOECDDocTypeIndicEnumType(docTypeIndic), DocRefId = docRefId, }; if (!string.IsNullOrEmpty(corrDocRefId)) { docSpec.CorrDocRefId = corrDocRefId; } if (!string.IsNullOrEmpty(corrMessageRefId)) { docSpec.CorrMessageRefId = corrMessageRefId; } return(docSpec); }