0
나는 completly XML, libxml 및 xpath에 익숙하다. 따라서 나는 아주 간단한 XML 표현 내가 libxml를 사용하는 다음 코드를 쓴 값 1을 검색 할libxml : xpath을 찾을 수 없습니까?
<count>
<active type="integer">1</active>
</count>
을 구문 분석 원 (이 코드는 목표 C 코드를 포함) :
const unsigned char* xPathExp = (const unsigned char*) "count/active/text()";
xmlXPathContextPtr xpathCtx = xmlXPathNewContext(doc);
xmlXPathObjectPtr xpathObj = xmlXPathEvalExpression(xPathExp, xpathCtx);
xmlNodeSetPtr nodeSetPtr = xpathObj->nodesetval;
if(nodeSetPtr != 0) {
xmlNode* node = nodeSetPtr->nodeMax > 0 ? nodeSetPtr->nodeTab[0] : 0;
if(node != 0) {
NSLog(@"Active Projects = %@", [self stringFromCString:node->name]);
} else {
NSLog(@"Node for xpath Exp: count/active/text() does not exist.");
}
} else
NSLog(@"nodeSetPtr is null");
xmlFreeDoc(doc);
xmlCleanupParser();
그것을 이 코드의 출력이
nodeSetPtr is null
인 것으로 나타났습니다. 위 xml과 xpath 표현식 "count/active/text()"에 온라인 xpath 평가기를 실행했습니다.
여기서 내가 뭘 잘못하고 있니?