我正在使用xerces库来解析C ++中的xml
将xml元素存储到字符串数组中,我想从我的类
访问这个字符串数组Handler类的代码 -
#include "MySAX2Handler.hpp"
#include <xercesc/sax2/Attributes.hpp>
#include <iostream>
#include <string>
using namespace std;
const int MAXITEMS = 100;
string resultArray[MAXITEMS];
int cnt = 0;
void MySAX2Handler::startElement(const XMLCh* const uri, const XMLCh* const localname,
const XMLCh* const qname, const Attributes& attrs)
{
char* message = XMLString::transcode(localname);
resultArray[cnt] = message;
cnt++;
for (int idx = 0; idx < attrs.getLength(); idx++)
{
char* attrName = XMLString::transcode(attrs.getLocalName(idx));
char* attrValue = XMLString::transcode(attrs.getValue(idx));
resultArray[cnt] = attrName;
cnt++;
resultArray[cnt] = attrValue;
cnt++;
}
XMLString::release(&message);
}
我想从另一个类
访问resultArray请帮助我,我是C ++的新手
答案 0 :(得分:2)
resultArray
是一个带有外部链接的全局变量,因此您可以已经从程序中的任何位置访问它。你只需要声明它:
// someotherfile.cpp
extern std::string resultArray[100];
void foo()
{
std::cout << resultArray[12] << std::endl;
}