微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在BCB6中使用XML

——需要的包  #include <XMLDoc.hpp>
 ——相关说明 _di_IXMLDocument 为模板类
 typedef System::DelphiInterface< IXMLDocument > _di_IXMLDocument;
 _di_IXMLNode :      typedef System::DelphiInterface< IXMLNode > _di_IXMLNode; 
_di_IXMLNodeList 同  ——类方法  //设置参数
void TXXX::setoptions(String name,String value)
{  //创建文档对象
_di_IXMLDocument XMLDoc = LoadXMLDocument(L"文件路径");
XMLDoc->Active=true;  //文档根节点
_di_IXMLNode root = XMLDoc->DocumentElement;  //想要查找节点
_di_IXMLNode tempNode;  //调用搜索方法
 searchXml(name,root,tempNode);  // 处理
if(tempNode!=NULL) tempNode->SetText(value);
XMLDoc->SavetoFile(L"文件路径"); } //递归搜索参数节点树
 void TXXX::searchXml(String name,_di_IXMLNode &Parent_Node,_di_IXMLNode& tempNode)
{  _di_IXMLNode Child_Node; //子结点 //子节点列表
 _di_IXMLNodeList list = Parent_Node->ChildNodes;
for(int i=0;i<list->Count;i++)
 { Child_Node = list->Get(i); 
//递归结束条件
 if(Child_Node->GetNodeName()==name)
{
tempNode = Child_Node;
break;
}
else
 //递归函数
searchXml(name,Child_Node,tempNode);
 }
} 
 
希望多指教

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。