• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

delphi笔记之XML操作

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

创建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

 

//通过hasChildeNodeIsTextElement可以判断node是支节点还是叶子节点,支节点的HasChlideNodestrue ,IsTextElementfalse;叶子节点的IsTextElementtrue;判断是否文本用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);


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi-TDateTimePicker使用注意问题发布时间:2022-07-18
下一篇:
Delphi属性Property学习应用总结发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap