2012-11-07 3 views
0

나는 이런 속성 태그가 들어 XML 파일을 구문 분석하려고 :Qdom을 사용하여 잘못된 XML 태그를 무시합니까?

a="(USA & CANADA)" 

을하지만 난은 "&은"URL 인코딩 (&)

해야 있기 때문에 XML을 잘 형성되지 않는 것을 발견

QDom에 파일을 구문 분석하기 위해 유효하지 않은 텍스트를 무시하도록 지시하는 방법이 있습니까? 왜냐하면 나는 모든 XML 파일을 고칠 수 없기 때문이다.

이 문제에 대한 해결책을 알려 주시면 감사하겠습니다.

편집 : 나는 함수 setInvalidDataPolicy (AcceptInvalidChars)하지만이 중 하나 QDomDocument에 대한의 setContent()를 사용하거나 난 그냥 길을 잘못 사용하고 때 문제가 해결되지 않는 ...이 있다는 것을 알아 냈

QDomDocument xmlcontent; 
QDomImplementation impl; 
impl.setInvalidDataPolicy(QDomImplementation::AcceptInvalidChars); 
QFile XMLContentFile(pathString); 
xmlcontent.setContent(&XMLContentFile) 

누구든지 아이디어가 있습니까? 미리 감사드립니다!

+0

QDomDocument :: implementation()을 사용하여 구현을 가져 오지 않아야합니까? –

+0

@ DanMilburn 내 QDomDocument에 요소를 추가하려고하면 setInvalidDataPolicy (..)가 작동합니다. 하지만 setContent 함수가 잘 작동하지는 않습니다. 하지만 난 여전히 내 잘못된 데이터를 구문 분석 멀리 검색 .... 순간 나는 qXmlStreamReader 그것을 달성하려고 – samoncode

답변

1

나는이 문제를 해결하기 위해 노력했다. 이제 QXmlStreamReader를 사용하여 XML 파일을 구문 분석하고 오류가 발생하면 XML 파일을 수정하는 자체 함수를 시작합니다. 그런 다음 내 구문 분석 루틴을 다시 시작하십시오. 이 작업을 수행하고 나는 이것을 달성하는 더 좋은 방법을 찾을 수 없습니다.

관련 문제