How to have fixed xml attributes "Header"

83 views
Skip to first unread message

paresh patil

unread,
Dec 12, 2019, 12:57:14 PM12/12/19
to golang-nuts

Hi,


I'm new to Go and finding it interesting to learn. I'm not a developer or programmer, but I have interest in learning to code

I'm working on a project to convert csv file to xml file. The code executes and I'm able to generate a xml file. But the file is not in the expected format. I seek some help

I'm expecting the below results in xml output:


<Manifest>

<Header>

</Field1>

</Field2>

</Header>

<Item1>

</Name>

</Address>

</Country>

</Item1>

<Item2>

</Name>

</Address>

</Country>

</Item2>

</Manifest>


However what I get is as below:


<Manifest>

<Header>

<Field1>

<Field2>

</Header>

<Item1>

</Name>

</Address>

</Country>

</Item1>

</Manifest>
<Manifest>

<Header>

<Field1>

<Field2>

</Header>

<Item2>

</Name>

</Address>

</Country>

</Item2>

</Manifest>


Please help

Marcin Romaszewicz

unread,
Dec 12, 2019, 1:15:05 PM12/12/19
to paresh patil, golang-nuts
Could you share your code which isn't working?

Here's a simple example of how you would do something like that, but not knowing your code, it might not be helpful.


--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/085e7f7b-105e-48f1-9e09-55f0b5e40136%40googlegroups.com.

paresh patil

unread,
Dec 12, 2019, 1:19:06 PM12/12/19
to Marcin Romaszewicz, golang-nuts
Hi Marcin,

Thanks for writing back I will sure try your code

I'm attaching the zip folder which has the complete code. It needs some corrections as well,

Let me know your thoughts

Thanks
Paresh_GoLang_xmlFile.zip

Marcin Romaszewicz

unread,
Dec 12, 2019, 1:39:35 PM12/12/19
to paresh patil, golang-nuts
Your code creates an array for manifests ([]Manifest), and puts one entry in there for each package, so encoding/xml is dutifully doing what you asked it to do :)

You need to change your object structure so that you have one manifest with a single header, and a list of packages.

Something like this:


paresh patil

unread,
Dec 12, 2019, 10:09:49 PM12/12/19
to Marcin Romaszewicz, golang-nuts
Thanks a lot Marcin, it worked

The code is working as expected and I can generate the xml file from csv.

Now my next challenges are:
  1. How to have fixed values in the xml file, 
<Header>
<Version>3.4</Version>
<AccountNumber />
<PackageCount>1</PackageCount>
<FileCreateDateTime>2019-11-04 18:11</FileCreateDateTime> - Is there a way in Go to returns current time stamp? so we get the date and time of when the xml file is created?
<TimeZone>GMT</TimeZone>
<Filename>MANIFEST-0007-04112019.XML</Filename> - Is there a way to pre define this name, so every time the file is created it should have the file name as MANIFEST-0007-Todays Dates.XML
</Header>
  1. How to make this code an applications, so it can be used on multiple computes (which do not have Go installed)? Can I convert the file into .exe?
In that case, how to put a generic path for reading the csv file and saving the xml output file?

https://play.golang.org/p/blTJHPHt4Ms 


Reply all
Reply to author
Forward
0 new messages