高分!!怎样从HTML XML 文档(取自定义的数据(String)(VC++))

czq 2000-06-30 10:31:00
请教相关技术(Http 协议(1.1)) 最新资料
VC++源代码(demo)


...全文
270 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
The_east_key 2000-12-29
  • 打赏
  • 举报
回复
建议您访问www.etechbase.net/tech,里面有很多资料,也许可以解决您的问题。
访问http://168.168.18.11:81/etechbase/advsearch.php将您的问题输入查询内容框,选择不同的精确程度,即可以找到你所需要的答案。效果还是可以的。
sungang 2000-12-27
  • 打赏
  • 举报
回复
需要XML Parser,但是Html的解析需要自己做,因为标准的XML解析器不支持Html解析。
也可以自己做。不太难。
mywater 2000-12-21
  • 打赏
  • 举报
回复
这是偶以前的程序的一部分:

//函数名称: CParam::SetValue
//功能描述: 设置XML文档中,lpszNode所指节点的值
//返回类型: bool
//参数列表:
// 参数1: CString &lpszNode 说明:
// 参数2: CString Value 说明:
bool CParam::SetValue(CString &lpszNode, CString Value)
{
if(IsLoadedOK())
{
lpIDOMNodeList=lpIDOMDoc->getElementsByTagName(lpszNode.AllocSysString());
if(lpIDOMNodeList==NULL)
{
// DBError.AddErrorMessage(edbetGeneral,IDS_eppGetNodeListFaild);
}
else
{
long Length;
HRESULT hr;
hr = lpIDOMNodeList->get_length(&Length);
if(SUCCEEDED(hr))
{
if(Length==1) //一次应该只处理一个节点,lpszNode制订了这个节点,如果获取了多个节点,说明有错误
{
lpIDOMNodeList->reset();
lpIDOMNodeList->get_item(0, &lpIDOMNode);
if(lpIDOMNode)
{
SetValue(lpIDOMNode,Value);
}
}
}
else
{

}
}
}
else
{
}
return true;
}


bool CParam::IsLoadedOK()
{
return boolLoadedOK;
}

bool CParam::Initialize()
{
try
{
HRESULT hr;
if(lpIDOMDoc==NULL)
{
CLSID clsid;
::CLSIDFromProgID(L"MSXML.DOMDocument",&clsid);
hr=lpIDOMDoc.CreateInstance(clsid);
if(FAILED(hr))
{
_com_issue_error(hr);
}
}
return true;
}
catch(_com_error &ce)
{
ce.ErrorMessage();
}
catch(CException* err)
{
err->ReportError(MB_OK);
delete err;
}
catch(...)
{
MessageBox(NULL,_T("出现未知异常"),_T("错误"),MB_OK);
};

boolLoadedOK=false;
return false;
}

bool CParam::SetValue(xml::IXMLDOMNodePtr lpNowNode, CString Value)
{
if(lpNowNode)
{
try
{
lpNowNode->put_text(Value.AllocSysString());
return true;
}
catch(_com_error &ce)
{
DBError.AddErrorMessage(ce);
}
catch(CException * error)
{
DBError.AddErrorMessage(error);
};
}
return false;
}

bool CParam::SaveToFile(CString FileName)
{
if(IsLoadedOK())
{
_variant_t Dest;
Dest.vt=VT_BSTR;
Dest.bstrVal=FileName.AllocSysString();
try
{
lpIDOMDoc->save(Dest);
return true;
}
catch(_com_error &ce)
{
DBError.AddErrorMessage(ce);
}
catch(CException *error)
{
DBError.AddErrorMessage(error);
}
}
return false;
}

CString CParam::GetValue(CString lpszNode)
{
if(IsLoadedOK())
{
lpIDOMNodeList=lpIDOMDoc->getElementsByTagName(lpszNode.AllocSysString());
if(lpIDOMNodeList==NULL)
{
// DBError.AddErrorMessage(edbetGeneral,IDS_eppGetNodeListFaild);
}
else
{
long Length;
HRESULT hr;
hr = lpIDOMNodeList->get_length(&Length);
if(SUCCEEDED(hr))
{
if(Length==1) //一次应该只处理一个节点,lpszNode制订了这个节点,如果获取了多个节点,说明有错误
{
lpIDOMNodeList->reset();
lpIDOMNodeList->get_item(0, &lpIDOMNode);
if(lpIDOMNode)
{
return GetValue(lpIDOMNode);
}
}
}
else
{

}
}
}
else
{
}
return _T("");
}
ploto 2000-07-13
  • 打赏
  • 举报
回复
M$的XML分析器很好用的。用法吗?几乎每一本讲XML的书上都有说明。
czq 2000-07-13
  • 打赏
  • 举报
回复
???
czq 2000-07-03
  • 打赏
  • 举报
回复
大哥!!! 帮帮忙!
Un1 2000-06-30
  • 打赏
  • 举报
回复
通过MSXML.DLL的DOMDocument等对象访问xml内容根本不需要了解xml细节
czq 2000-06-30
  • 打赏
  • 举报
回复
x86: 你好 Http1.1的资料我手头有一份(英文)
请问还有不有 中文的 或者 中文书 或则 这方面的技术网站
我急需这方面的资料
x86 2000-06-30
  • 打赏
  • 举报
回复
问题没问清楚嘛,http1.1的资料我给你寄一份,英文的
关于XML,可以到msdn.microsoft.com/xml看看

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧