xml 패키지 (http://golang.org/pkg/xml/)를 사용하여 Go에서 XML 파일을 읽으려고합니다.Go를 사용하여 XML 요소의 내부 텍스트 읽기
제 문제는 요소의 내부 텍스트를 읽는 방법을 모르겠다는 것입니다. xml.Parser에 문서를로드 한 다음 parser.Token()을 호출하여 파일을 이동합니다.
token, err := parser.Token()
if element, ok := token.(xml.StartElement); ok {
// process as a start element. I can read the element name and attributes here
}
if charData, ok := token.(xml.CharData); ok {
// process as text. How do I read the text data?
}
xml.CharData 유형은 다음과 같이 정의된다 :
type CharData []byte
하지만 배열로서 charData 변수를 사용할 수없는 것 나는 토큰이 다음 사용하는 것을 확인 바이트를 문자열로 변환합니다. CharData에 대해 정의 된 유일한 메서드는 토큰을 복사하는 것이지만 CharData 변수의 다른 복사본을 제공합니다. 몇 가지 시도했지만 컴파일되지 않습니다 :
innerText := string(charData)
innerText := string(charData[0:])
innerText := string(charData[0]) // this compiled but is not what I want
다른 방법으로 xml.CharData 변수를 바이트 조각으로 처리 할 수 있습니까?
놀랍습니다. 나는 이것을 위해 언어 규격을 감추고는했지만 결코 그것을 보지 못했다. 이제 실제로 앉아서 실제로 스펙을 자세히 읽어야합니다. –