创建xml可用XMLDocument.xml.Add(‘xml内容’)
newnode:=node.AddChlide(‘节点名’) //增加节点,返回新的节点
Cnode,pnode:IXMLNode;
pnode:=XMLDocument.addChilde(‘节点名’); //addChilde后返回生成的节点,第一次生成的pnode是根节点
pnode.setAttribute(‘属性名’,’属性值’); //增加节点的属性
添加叶子子节点
Cnode=pnode.addChilde(‘节点名’);
Cnode.Text:=’叶子节点的文本值’;
保存xml文档用XMLDocument.saveToFile(‘路径及文件名’);
读取xml
读取xml文件用xmlDocument.LoadFormFile(‘文件路径’);
nodeList:IXMLNodeList
Node:=xmlDocument.DocumentElement //获得xml文件的根节点
nodeList:=node.ChildeNodes; //获得node节点的所有子节点列表
count:=nodeList.Count;//获得列表中节点的总数
node:=nodeList.first: //获得列表中第一个子节点
node:=nodeList.last: //获得列表中最后一个子节点
node:=node.ChildeNode[索引值] //获得node索引值为’[]’中值的子节点
node:=node.PreviousSibling; //获得节点的上一个节点
node:=node.NextSibling; //获得节点的下一个节点
node:=node.ParentNode; //获得节点的父节点
node.Text //获得节点的文本值
node.NodeName //节点名
node.NodeValue //节点值
获得节点属性与获得子节点的方法类似
Node.ArrtibuteNodes //获得node的属性列表
Node.ArrtibuteNodes.Count; //获得属性总数
Node.ArrtibuteNodes[索引值] //获得某个属性
Node.ArrtibuteNodes[索引值].Text //读取某个属性的文本
node.AttributeNodes[索引值].NodeName //属性名
node.AttributeNodes[索引值].NodeValues //属性值
其他操作:
删除节点:
nodeList := XMLDocument1.DocumentElement.ChildNodes;
nodeList.Delete(nodeList.Count-1); //删除最后一条
判断是否有子节点
Node.HasChlideNodes //返回值为Boolean
判断是否具有 Text 属性
Node.IsTextElement //返回值为Boolean
//通过hasChildeNode和IsTextElement可以判断node是支节点还是叶子节点,支节点的HasChlideNodes为true ,IsTextElement为false;叶子节点的IsTextElement为true;判断是否文本用node.NodeName='#text'(文本也可看做是一个节点);判断空节点用 (not node.HasChlideNodes) and (not node.IsTextElement
格式化xml:
FormatXMLData(xmlDocument.XML.Text)
如果要想用浏览器读取xml时要用到ShellAPI:
shellExecute(Handle,’open’,’Explorer.exe’,’xml文件路径’, nil, SW_SHOWNORMAL);