社区
HTML/XML
帖子详情
xml问题,从IXMLDOMDocument接口内容到一个string中的问题
suokeng
2003-12-16 09:17:49
IXMLDOMDocument接口有一个方法save可以把内容保存到xml文件里,但是我不想这样
我想直接放入string中然后通过网络发送到客户端。如何解决???
...全文
123
6
打赏
收藏
xml问题,从IXMLDOMDocument接口内容到一个string中的问题
IXMLDOMDocument接口有一个方法save可以把内容保存到xml文件里,但是我不想这样 我想直接放入string中然后通过网络发送到客户端。如何解决???
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liuxianzhi
2004-03-05
打赏
举报
回复
今天无意看到这个问题,猛然发现俺以前还回复过,楼主怎么还不结贴?
liuxianzhi
2003-12-26
打赏
举报
回复
上文说的有些问题,是修改WideCharToMultiByte函数的第一个参数,如下文,是ConvertBSTRToString函数的原型,如果真碰到编码的问题,你需要自己写一个ConvertBSTRToString函数,修改其中调用的WideCharToMultiByte函数的参数。
inline char* ConvertBSTRToString(BSTR pSrc)
{
if(!pSrc) return NULL;
DWORD cb,cwch = ::SysStringLen(pSrc);//convert even embeded NULL
char *szOut = NULL;
if(cb = ::WideCharToMultiByte(CP_UTF8, 0, pSrc, cwch + 1, NULL, 0, 0, 0))//CP_ACP
{
szOut = new char[cb];
if(szOut)
{
szOut[cb - 1] = '\0';
if(!::WideCharToMultiByte(CP_UTF8, 0, pSrc, cwch + 1, szOut, cb, 0, 0))//CP_ACP
{
delete []szOut;//clean up if failed;
szOut = NULL;
}
}
}
return szOut;
};
liuxianzhi
2003-12-26
打赏
举报
回复
"接放入string中然后通过网络发送到客户端"
你的问题是什么?
是如何把xml文件的内容放到string中,还是如何用网络发送string?
如果是前者,请参考我的代码,都是实践中的经验 :)
int CXMLManager::GetElementValue(CString &strElementValue)
{
USES_CONVERSION;
strElementValue = "";
//遍历当前元素节点的所有子节点,找到IXMLDOMText节点(如果有)
//并读出其值.
if (pCurNode != NULL)
{
MSXML2::IXMLDOMNodeList *pTempNodeList = NULL;
MSXML2::IXMLDOMNode *pTempNode = NULL;
long lTemp;
hrErr = pCurNode->get_childNodes(&pTempNodeList);
if (hrErr == S_OK)
{
pTempNodeList->get_length(<emp);
for (int i=0;i<lTemp;i++)
{
BSTR bszTemp;
CString strTemp;
pTempNodeList->get_item((long)i,&pTempNode);
if (pTempNode != NULL)
{
pTempNode->get_nodeTypeString(&bszTemp);
strTemp = OLE2A(bszTemp);
if (strTemp.Compare("text") == 0)
{
VARIANT vtElementValue;
vtElementValue.vt = VT_EMPTY;
pTempNode->get_nodeValue(&vtElementValue);
//在这里把BSTR转换为CString数据:
strElementValue = OLE2A(vtElementValue.bstrVal);
或者用下面的这一行,尤其是当你碰到不同编码问题时(如BSTR中使Unicode的),可以通过修改ConvertBSTRToString()函数的第一个参数解决:
//strElementValue = _com_util::ConvertBSTRToString(vtElementValue.bstrVal);
}
}
}
CheckAndRelease(pTempNode);
CheckAndRelease(pTempNodeList);
if (strElementValue.Compare("") == 0)
return 0;
return 1;
}
return 0;
}
return 0;
}
mahatma_cn
2003-12-18
打赏
举报
回复
或者pXMLDom->get_xml(&bstr);
mahatma_cn
2003-12-18
打赏
举报
回复
直接用QueryInterface查询IXMLDOMDocument的IStream接口,之后直接用IStream中的方法。
蒋晟
2003-12-17
打赏
举报
回复
1 查询IXMLDOMDocument对象的IXMLDOMDocument [MS XML]接口,如果成功获得,访问其xml属性
2 查询IXMLDOMDocument对象的IPersistStream接口,如果成功获得,建立一个内存Stream(COleStreamFile就是一个),然后用IPersistStream::Save写到内存Stream
pb往
XML
文档
中
写数据或者从
XML
文档
中
提数据
一个
教你如何用PB往
XML
中
写入数据,怎么从
XML
中
提出数据的例子。
C++解析
xml
文档或者
xml
字符串方法
由于在javascript
中
不存在指针概念,故在
xml
页面调用OCX控件时,以前控件
中
的输出参数通过指针返回在这样的情况下行不通了,但本来就有返回参数,以及在同时有多个输出参数的情况下,依然想通过返回值返回,那就需要进行处理,然而怎么去处理呢?通过研究发现通过
xml
形式的字符串返回是一种解决方案,在解决这样的返回值的同时突然发现其实如果输入参数是结构体的话,也可以通过
xml
字符串的形式传入。然而怎么去解析它呢,而又怎么去做
一个
xml
字符串呢,通过研究学习,以下是当然已有的解决方案。开发环境:VS2010
XML
VC 简单实例
使用VC解析
XML
的
一个
简单实例
xml
version="1.0" encoding="UTF-8"?>
pb解析
xml
文件示例.rar
这个是示例,用pb编写的
一个
解析
xml
文件的示例,可以解析成各种格式,仅供参考
xml
文件读写
XML
文件的读写,利用Delphi编写,T
string
list创建
XMl
文档
HTML/XML
3,055
社区成员
8,075
社区内容
发帖
与我相关
我的任务
HTML/XML
VC/MFC HTML/XML
复制链接
扫一扫
分享
社区描述
VC/MFC HTML/XML
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章