begin rootNode:=xmldoc1.Node; rootNode:=rootNode.ChildNodes.Nodes[1]; //root-->human for i:=0 to ANodeList.Count-1 do begin rootNode.AddChild(ANodeList.Strings[i]).NodeValue:=AValueList.Strings[i]; end; end; 写入实体节点 StNode定位到要插入实体位置的父节点,AttrNode为实体节点的属性节点。 使用IXMLNODE的ADDCHILD方法创建一个命名的节点,返回值为新建的节点。 对NODEVALUE属性赋值,使用AttrNode对象。 procedure TFormXMLTester.addStudent(const sID,sName,sSchool,sLevel:string); var StNode,AttrNode:IXMLNode; begin StNode:=xmldoc1.Node; StNode:=StNode.ChildNodes.Nodes[1]; //human StNode:=StNode.ChildNodes.Nodes[0]; //human.person StNode:=StNode.AddChild(''''STUDENT''''); // human.person.student StNode.Attributes[''''SID'''']:=sID; AttrNode:=StNode.AddChild(''''NAME''''); AttrNode.NodeValue :=sName; AttrNode:=StNode.AddChild(''''SCHOOL''''); // human.person.student.school AttrNode.NodeValue := sSchool; AttrNode:=StNode.AddChild(''''LEVEL''''); // human.person.student.level AttrNode.NodeValue:=sLevel; end; 定位到节点 实体节点的节点名称可能是相同的,通过节点内参数Attribute区分各节点,类似DB中的PK。 定位采用3个节点 n SEARCHNODE 根定位节点,定位到要搜索的层 n MATCHNODE 用来遍历的节点,遍历的是实体节点,找到后返回的就是这个节点 n SNODE 实体节点的ATTRIBUTE,用来和KEYWORD比较 //通过学号ATTRIBUTE定位STUDENT节点 function TFormXMLTester.GetNodeBySID (const AID:String):IXMLNode; var //定位 遍历 比较 SearchNode,matchNode,sNode:IXMLNode; sID:string; i:integer; begin result:=nil; sID:=AID; SearchNode:=xmldoc1.Node; SearchNode:=SearchNode.ChildNodes.Nodes[1]; SearchNode:=SearchNode.ChildNodes.Nodes[0]; //human.person matchNode:=SearchNo 上一页 [1] [2] [3] 下一页 [Web开发]XML与HTML在语法上的主要区别详解 [系统软件]如何让Expat支持中文XML [VB.NET程序]vb.net 与 XML 的操作 [VB.NET程序]vb.net读写xml(2)--实现datagrid与xml的沟通(原创… [VB.NET程序]vb.net 读写xml方法(1) [VB.NET程序][VB.NET+XML]完成简单程序配置 [VB.NET程序]使用Visual Basic操纵XML文档 [VB.NET程序]XML 简单接口 (SAX2)用Visual Basic 实现的示例 [Delphi程序]Delphi 6 XML映象工具 [Delphi程序]Delphi 6 XML数据绑定
|