다음 코드는 CSV를 XML로 변환하는 코드입니다.csv to xml 및 lambda expressions
var xml = new XElement("root",
lines.Where((line, index) => index > 0).Select(line => new XElement("TEST",
line.Split(',').Select((column, index) => new XElement(headers[index], column)))))
여기에 큰 그림이 있습니다. 마찬가지로 각 줄마다 무엇을하는지 알지만 왜 (선, 색인) 같은 부분이 사용되는지 이해하지 못합니다. 이것은 인덱스> 0 일 때 라인이 각각의 값으로 설정된다는 것을 의미합니까?
누군가 내게 이것을 부러 뜨릴 수 있다면 고맙겠습니다. 람다 표현식을 사용하지 않으면 멋질 것입니다.
이var xml = new XElement("root",
lines.Where((line, index) => index > 0) // Skips first line
.Select(line => new XElement("TEST",
line.Split(',')
.Select((column, index) => new XElement(headers[index], column)))))
Visual Studio에서 아마 new XElement("TEST")
같은 줄에 line.Split
을 가하고, 더 수평 공간을 사용합니다 : 당신이 더 명확 들여 경우
나는 "DATA = NITSService"라는 이름의 열 머리글에서 하나의 열이있는 경우, 그것은 말에서 오류가 발생합니다 문자 16 진수 값 0x3a는 이름에 포함될 수 없습니다. 어떻게 제거하나요? – user2697903
실제로 문자열에서 = 기호를 제거했습니다. 하지만이 일을하는 또 다른 방법을 알고 있다면 알려 주시기 바랍니다. – user2697903
@ user2697903 : 글쎄, 그건 그냥 잘못된 XML이야 ... 당신은 단순히 XML 요소 또는 속성 이름'='를 포함 할 수 없습니다. –