
XMLReader::read() 함수는 XML 파일에서 다음 요소를 읽어오는 함수입니다.
XMLReader::readOuter() 함수는 XML 파일에서 다음 요소를 읽어오되, 요소의 시작과 끝을 포함하여 읽어옵니다.
예를 들어, 다음 XML 파일이 있다고 가정해 보겠습니다.
#hostingforum.kr
xml
John
30
XMLReader::read() 함수를 호출하면 다음 요소는 "name"이 됩니다.
XMLReader::readOuter() 함수를 호출하면 다음 요소는 "John"이 됩니다.
이 두 함수의 차이점은 XMLReader::readOuter() 함수가 요소의 시작과 끝을 포함하여 읽어오는 것입니다.
XMLReader::read() 함수를 사용할 때는 XMLReader::readOuter() 함수를 호출하여 요소의 시작과 끝을 포함하여 읽어오는 것이 좋습니다.
예를 들어, 다음 코드를 보겠습니다.
#hostingforum.kr
cpp
#include
#include
#include
int main() {
xmlDocPtr doc = xmlParseFile("example.xml");
xmlNodePtr root = xmlDocGetRootElement(doc);
xmlNodePtr cur = root->children;
while (cur) {
xmlChar* name = xmlNodeGetContent(cur);
std::cout << "name: " << name << std::endl;
xmlFree(name);
cur = cur->next;
}
xmlFreeDoc(doc);
return 0;
}
이 코드는 XMLReader::read() 함수를 호출하여 XML 파일에서 다음 요소를 읽어옵니다.
XMLReader::readOuter() 함수를 호출하여 요소의 시작과 끝을 포함하여 읽어오는 코드는 다음과 같습니다.
#hostingforum.kr
cpp
#include
#include
#include
int main() {
xmlDocPtr doc = xmlParseFile("example.xml");
xmlNodePtr root = xmlDocGetRootElement(doc);
xmlNodePtr cur = root->children;
while (cur) {
xmlChar* name = xmlNodeGetContent(cur);
std::cout << "name: " << name << std::endl;
xmlFree(name);
cur = cur->next;
}
xmlFreeDoc(doc);
return 0;
}
이 코드는 XMLReader::readOuter() 함수를 호출하여 요소의 시작과 끝을 포함하여 읽어옵니다.
이러한 차이점을 이해하여 적절한 함수를 호출하여 XML 파일을 읽어오면 더 효율적인 코드를 작성할 수 있습니다.
2025-04-10 17:48