2011-05-13 4 views
0

내 문제는 다음과 같습니다. 내 프로그램이 프로젝트와 함께 작동하고 설정을 XML 파일에 저장합니다. 또한 동일한 QXmlStreamWriter 클래스를 사용하여 표시 가능한 HTML 파일을 만듭니다. 그러나 XML은 특정 심볼을 건너 뛰기 때문에 많은 문자가 HTML 파일에 제대로 표시되지 않습니다. XML 스트림을 사용하여 QString을 HTML 파일에 직접 작성하는 방법이 있습니까? writeRaw()과 같은 기능이 있습니까?Qt : XML 스트림이 문자열을 직접 쓰지 않습니다.

이 문제에 대한 해결책을 찾지 못했기 때문에 QTextStream(xml->device())을 만들고 스트림에 써야했습니다. 그러나 스트림이 비동기 적으로 작동하는 것처럼 보일 수 있으며 상황에 따라 XML 스트림이 전체 파일 작성을 완료 한 후에 코드의 일부만 작성하는 경우도 있습니다. HTML 용어로, 이는 코드의 일부가 </html> 태그 다음에 나타나는 것을 의미합니다. 다른 해결책이 있습니까?

어떤 도움을 주셔서 감사합니다.

답변

0

좋아요, 제 문제를 해결했습니다.

문서에서 QString::QString(QByteArray&)QString::fromAscii() 함수를 사용하여 바이트 배열을 강력한 것으로 변환한다고 말합니다. 나는이 부분을 QString::fromUtf8(myByteArray)으로 바꾸었다.

+0

note fromAscii 정확히 당신이 생각하는 것 같아요. QTextCodec :: setCodecForCStrings()를 사용하여 코덱을 설정하면 str을 유니 코드로 변환하는 데 사용됩니다. 그렇지 않으면이 함수는 fromLatin1()과 같습니다. –

관련 문제