일반 csv 파일을 xml 파일로 변환하려고합니다. csv 파일에 헤더 행이 있습니다. 머리글 값은 요소 이름을 나타내고 각 열의 값은 해당 요소 값입니다. 지금까지일반 csv를 xml로 변환
내 방식 :
// Read the csv file
file, err := os.Open(*i)
if err != nil {
log.Fatalf("Error opening input file: %v\n", err)
}
defer file.Close()
r := csv.NewReader(file)
r.Comma, _ = utf8.DecodeRuneInString(*s)
lines, err := r.ReadAll()
// header values
header := lines[0]
// Write the xml file
fileOut, err := os.Create(*o)
if err != nil {
log.Fatalf("Error opening input file: %v\n", err)
}
defer fileOut.Close()
for _, l := range lines {
for i, elem := range l {
// TODO: Something here is missing...
xml.EscapeText(fileOut, []byte(header[i]))
xml.EscapeText(fileOut, []byte(elem))
}
질문 : 어떻게 그것을 XML 쓰기 섹션 작업의 마지막 부분을 어떻게해야합니까? 아니면 CSV 파일을 XML 파일로 변환하는보다 효율적인 방법이 있습니까?
문제는 ** 일반 ** CSV입니다 - 즉,하지 명명 된 XML 필드가있는 구조체. –