이 페이지에서

QXmlReader Class

QXmlReader 클래스는 XML 리더(즉, 파서)를 위한 인터페이스를 제공합니다. 더 보기...

헤더: #include <QXmlReader>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core5Compat)
target_link_libraries(mytarget PRIVATE Qt6::Core5Compat)
qmake: QT += core5compat
상속된 항목:

QXmlSimpleReader

참고: 이 클래스의 모든 함수는 재진입 가능합니다.

공개 함수

virtual ~QXmlReader()
virtual QXmlDTDHandler *DTDHandler() const = 0
virtual QXmlContentHandler *contentHandler() const = 0
virtual QXmlDeclHandler *declHandler() const = 0
virtual QXmlEntityResolver *entityResolver() const = 0
virtual QXmlErrorHandler *errorHandler() const = 0
virtual bool feature(const QString &name, bool *ok = nullptr) const = 0
virtual bool hasFeature(const QString &name) const = 0
virtual bool hasProperty(const QString &name) const = 0
virtual QXmlLexicalHandler *lexicalHandler() const = 0
virtual bool parse(const QXmlInputSource *input) = 0
virtual void *property(const QString &name, bool *ok = nullptr) const = 0
virtual void setContentHandler(QXmlContentHandler *handler) = 0
virtual void setDTDHandler(QXmlDTDHandler *handler) = 0
virtual void setDeclHandler(QXmlDeclHandler *handler) = 0
virtual void setEntityResolver(QXmlEntityResolver *handler) = 0
virtual void setErrorHandler(QXmlErrorHandler *handler) = 0
virtual void setFeature(const QString &name, bool value) = 0
virtual void setLexicalHandler(QXmlLexicalHandler *handler) = 0
virtual void setProperty(const QString &name, void *value) = 0

상세 설명

이 추상 클래스는 Qt의 모든 XML 리더를 위한 인터페이스를 제공합니다. 현재 Qt XML 모듈에는 단 하나의 리더 구현체인 QXmlSimpleReader 만 포함되어 있습니다. 향후 릴리스에서는 서로 다른 속성을 가진 더 많은 리더(예: 유효성 검사 파서)가 제공될 수 있습니다.

XML 클래스의 설계는 SAX2 Java 인터페이스를 따르며, 이름은 Qt 명명 규칙에 맞게 조정되었습니다. SAX2를 사용해 본 적이 있는 사람이라면 누구나 Qt XML 클래스를 매우 쉽게 시작할 수 있을 것입니다.

모든 리더는 입력 문서를 읽기 위해 QXmlInputSource 클래스를 사용합니다. 일반적으로 XML 문서 내의 특정 콘텐츠에 관심이 있을 것이므로, 리더는 특수한 핸들러 클래스(QXmlDTDHandler, QXmlDeclHandler, QXmlContentHandler, QXmlEntityResolver, QXmlErrorHandler 및 QXmlLexicalHandler)를 통해 해당 콘텐츠를 보고하며, 콘텐츠를 처리하려면 이러한 클래스를 상속받은 서브클래스를 만들어야 합니다.

핸들러 클래스는 인터페이스만 정의하므로 모든 함수를 직접 구현해야 합니다. 이를 쉽게 처리할 수 있도록 QXmlDefaultHandler 클래스를 제공합니다. 이 클래스는 모든 함수에 대해 기본 동작(아무 작업도 수행하지 않음)을 구현하므로, 이를 상속받아 필요한 함수만 구현하면 됩니다.

리더의 기능과 속성은 각각 ` setFeature()` 및 ` setProperty()`을 통해 설정할 수 있습니다. ` setEntityResolver()`, ` setDTDHandler()`, ` setContentHandler()`, ` setErrorHandler()`, ` setLexicalHandler()` 및 ` setDeclHandler()`을 사용하여 리더가 사용자 정의 서브클래스를 사용하도록 설정할 수 있습니다. 파싱 자체는 ` parse()`을 호출하여 시작됩니다.

이 클래스는 현재 더 이상 사용되지 않으므로, XML 파일을 읽으려면 QXmlStreamReader 또는 QDomDocument를 사용하십시오.

QXmlSimpleReader도 참조하십시오 .

멤버 함수 설명서

[virtual noexcept] QXmlReader::~QXmlReader()

독자를 완전히 매료시킨다.

[pure virtual] QXmlDTDHandler *QXmlReader::DTDHandler() const

DTD 핸들러를 반환하거나, 설정된 것이 없는 경우 ` nullptr `를 반환합니다.

setDTDHandler()도 참조하십시오 .

[pure virtual] QXmlContentHandler *QXmlReader::contentHandler() const

콘텐츠 핸들러를 반환하거나, 설정된 것이 없으면 ` nullptr `를 반환합니다.

setContentHandler()도 참조하십시오 .

[pure virtual] QXmlDeclHandler *QXmlReader::declHandler() const

선언 핸들러를 반환하거나, 설정된 것이 없으면 ` nullptr `를 반환합니다.

setDeclHandler()도 참조하십시오 .

[pure virtual] QXmlEntityResolver *QXmlReader::entityResolver() const

엔티티 리졸버를 반환하거나, 설정된 것이 없는 경우 ` nullptr `를 반환합니다.

setEntityResolver()도 참조하십시오 .

[pure virtual] QXmlErrorHandler *QXmlReader::errorHandler() const

오류 핸들러를 반환하거나, 설정된 것이 없는 경우 nullptr 를 반환합니다.

setErrorHandler()도 참조하십시오 .

[pure virtual] bool QXmlReader::feature(const QString &name, bool *ok = nullptr) const

리더기에 ‘ name ’라는 기능이 있는 경우, 해당 기능의 값이 반환됩니다. 해당 기능이 없는 경우 반환 값은 정의되지 않습니다.

ok 이 nullptr 가 아닌 경우: *ok 는 리더에 name 라는 기능이 있는 경우 true로 설정되며, 그렇지 않은 경우 *ok 는 false로 설정됩니다.

setFeature() 및 hasFeature()도 참조하십시오 .

[pure virtual] bool QXmlReader::hasFeature(const QString &name) const

리더에 ‘ name ’라는 기능이 있으면 ‘ true ’를 반환하고, 그렇지 않으면 ‘ false ’를 반환합니다.

feature() 및 setFeature()도 참조하십시오 .

[pure virtual] bool QXmlReader::hasProperty(const QString &name) const

리더에 name 속성이 있으면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.

property() 및 setProperty()도 참조하십시오 .

[pure virtual] QXmlLexicalHandler *QXmlReader::lexicalHandler() const

어휘 핸들러를 반환하거나, 설정된 것이 없으면 ` nullptr `를 반환합니다.

setLexicalHandler()도 참조하십시오 .

[pure virtual] bool QXmlReader::parse(const QXmlInputSource *input)

input 에서 XML 문서를 읽어와 구문 분석합니다. 구문 분석에 성공하면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.

[pure virtual] void *QXmlReader::property(const QString &name, bool *ok = nullptr) const

리더가 name 속성을 가지고 있는 경우, 이 함수는 해당 속성의 값을 반환하며, 그렇지 않은 경우 반환 값은 정의되지 않습니다.

ok 가 nullptr 가 아닌 경우: 리더에 name 속성이 있는 경우 *ok 는 true로 설정되고, 그렇지 않은 경우 *ok 는 false로 설정됩니다.

setProperty() 및 hasProperty()도 참조하십시오 .

[pure virtual] void QXmlReader::setContentHandler(QXmlContentHandler *handler)

콘텐츠 핸들러를 handler 로 설정합니다.

contentHandler()도 참조하십시오 .

[pure virtual] void QXmlReader::setDTDHandler(QXmlDTDHandler *handler)

DTD 핸들러를 handler 로 설정합니다.

DTDHandler()도 참조하십시오 .

[pure virtual] void QXmlReader::setDeclHandler(QXmlDeclHandler *handler)

선언 핸들러를 handler 로 설정합니다.

declHandler()도 참조하십시오 .

[pure virtual] void QXmlReader::setEntityResolver(QXmlEntityResolver *handler)

엔티티 리졸버를 handler 로 설정합니다.

entityResolver()도 참조하십시오 .

[pure virtual] void QXmlReader::setErrorHandler(QXmlErrorHandler *handler)

오류 핸들러를 ` handler`로 설정합니다. ` handler `가 0인 경우 오류 핸들러를 초기화합니다.

errorHandler()도 참조하십시오 .

[pure virtual] void QXmlReader::setFeature(const QString &name, bool value)

name 라는 기능을 지정된 value 로 설정합니다. 리더기에 해당 기능이 없는 경우 아무 작업도 수행되지 않습니다.

feature() 및 hasFeature()도 참조하십시오 .

[pure virtual] void QXmlReader::setLexicalHandler(QXmlLexicalHandler *handler)

어휘 핸들러를 handler 로 설정합니다.

lexicalHandler()도 참조하십시오 .

[pure virtual] void QXmlReader::setProperty(const QString &name, void *value)

name 속성을 value 로 설정합니다. 리더에 해당 속성이 없는 경우 아무 작업도 수행되지 않습니다.

property() 및 hasProperty()도 참조하십시오 .

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.