Node 与 Element 有什么区别?TXMLDocument 的属性:DocumentElement 与 Node 又有什么区别?能否简单描述一下 TXMLDocument 的用法?
解决方案 »
- Delphi 可以将函数在定义时指明连接到或者继承到某个函数吗?
- 串口通信MSCOMM控件和SPCOMM控件,用哪一个更好?
- 打印小结(向版主或高手请教问题)
- 如何将数据集中的数据保存在另一个数据库中?
- 100分求Formula one的分组和预览解决办法,请高手相助!
- 任何调整窗口在dpr文件中的create顺序?
- 使用delphi6的help时提示是为此windows版本不支持的语言创建的,怎么解决
- 控件能否按索引号取(比如edit(i)这种形式)?
- 如何调整dbgrid标题宽
- 关于InterBase 6的大BUG!!
- (新手问)请问如何在点击按钮时来判断一个EDIT里输入的内容是否为年年年年-月月-日日??
- 抽奖程序代码高分相求!!进来看看
创建一个DOM树的方法一般是使用Document创建根元素,然后在这个根元素上追加节点。更多信息请看www.softboss.com软件大佬,基于软件行业的研发、学习、交易、服务、管理的网络平台,您事业开始的
地方。请访问www.softboss.com
这里的attr就是属性元素,这个节点的所有属性的集合是一个属性节点,也是需要TXMLDocument创建,属性节点就没有子节点了,只能设置到某个节点上,成为上面的描述。
Procedure TTLListBox.GetMediaListByFile(MediaListFile: String);
Var
Xd:TXmlDocument;
FRootNode,FChildNode,FMediaFileNode :IXmlNode;
begin
Xd :=TXmlDocument.Create(self);
Xd.Active :=True;
Xd.LoadFromFile(MediaListFile);
FRootNode :=Xd.DocumentElement; //DocumentElement是一个xml文档的根,一个文件
//只有一个根
FChildNode :=FRootNode.ChildNodes[1].ChildNodes[0];
FMediaFileNode :=FChildNode.ChildNodes[0];
while FMediaFileNode<>nil do
begin
Self.AddRecords(FMediaFileNode.Attributes['src'],GetMediaInfo(FMediaFileNode.Attributes['src']));//AddRecords是我的一个自定义的procedure
FMediaFileNode :=FMediaFileNode.NextSibling;//下一个节点
end;
end;
<b att="c">ss</b>
</a>简单的说,上面xml中的 a, b, att, ss 全是node,只不过他们的类型不同,
a 就是 DocumentElement ,a,b都是 ntElement 类型...
如果是写论文需要的话,去参考一下清大版的《工作流管理》,可以很深奥的。
Attr:表示 XML 元素的一个属性。
Text:一个元素的内容。这意味着带有文本的元素包含文本节点孩子,元素的文本 不是 元素本身的一个属性。
Document:表示整个 XML 文档。解析的每个 XML 文档中有且只有一个 Document 对象。给定一个 Document 对象就可以找到 DOM 树的根,从这个根可以使用 DOM 函数读和操纵树。