永发信息网

如何用c++ 读取xml scheam(.xsd格式)文件中的信息

答案:2  悬赏:80  手机版
解决时间 2021-02-05 07:06
  • 提问者网友:富士山上尢
  • 2021-02-04 06:52
如题,急需,会的兄弟帮个忙!拜托了
最佳答案
  • 五星知识达人网友:不甚了了
  • 2021-02-04 08:17
——需要的包
#include
——相关说明
_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;iCount;i++)
{
Child_Node = list->Get(i);
//递归结束条件
if(Child_Node->GetNodeName()==name)
{
tempNode = Child_Node;
break;
}
else
{
//递归函数
searchXml(name,Child_Node,tempNode);
}
}
}
全部回答
  • 1楼网友:迷人又混蛋
  • 2021-02-04 09:22
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;xs:schema xmlns:xs=&quot;  &lt;xs:element name=&quot;citymgr&quot;&gt;   &lt;xs:complextype&gt;    &lt;xs:sequence&gt;     &lt;xs:element name=&quot;c&quot;&gt;      &lt;xs:complextype&gt;       &lt;xs:sequence&gt;        &lt;xs:element name=&quot;item&quot; maxoccurs=&quot;unbounded&quot;&gt;         &lt;xs:complextype&gt;          &lt;xs:attribute name=&quot;name&quot; type=&quot;xs:string&quot; use=&quot;required&quot;/&gt;          &lt;xs:attribute name=&quot;id&quot; type=&quot;xs:int&quot; use=&quot;required&quot;/&gt;         &lt;/xs:complextype&gt;        &lt;/xs:element&gt;       &lt;/xs:sequence&gt;       &lt;xs:attribute name=&quot;name&quot; type=&quot;xs:string&quot; use=&quot;required&quot;/&gt;       &lt;xs:attribute name=&quot;id&quot; type=&quot;xs:int&quot; use=&quot;required&quot;/&gt;      &lt;/xs:complextype&gt;     &lt;/xs:element&gt;    &lt;/xs:sequence&gt;   &lt;/xs:complextype&gt;  &lt;/xs:element&gt; &lt;/xs:schema&gt;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯