专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »PHP教程 » .netxmldocument:Delphi 中的 XMLDocument 类详解(13) - 有关 XML 属性 »正文

.netxmldocument:Delphi 中的 XMLDocument 类详解(13) - 有关 XML 属性

来源: 发布时间:星期一, 2009年11月30日 浏览:0次 评论:0
unit Unit1; 
 
erface 
 
uses 
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
 Dialogs, xmldom, XMLIntf, msxmldom, XMLDoc, StdCtrls; 
 
type 
 TForm1 = (TForm) 
  XMLDocument1: TXMLDocument; 
  Memo1: TMemo; 
  Button1: TButton; 
  Button2: TButton; 
  Button3: TButton; 
  Button4: TButton; 
  Button5: TButton; 
  procedure FormCreate(Sender: TObject); 
  procedure Button1Click(Sender: TObject); 
  procedure Button2Click(Sender: TObject); 
  procedure Button3Click(Sender: TObject); 
  procedure Button4Click(Sender: TObject); 
  procedure Button5Click(Sender: TObject); 
 end; 
 
var 
 Form1: TForm1; 
 
implementation 
 
{$R *.dfm} 
 
//打开 
procedure TForm1.FormCreate(Sender: TObject); 
begin 
 XMLDocument1.LoadFromFile('c:\temp\test.xml'); 
 {必须用万提供 xml 测试文件, 才能有相同返回值} 
end; 
 
 
//XMLDocument1 对象 XML 属性 
procedure TForm1.Button1Click(Sender: TObject); 
begin 
 {前面我们经常用这句话, 这里 Lines 和 XML 同属于 TStrings} 
 Memo1.Lines := XMLDocument1.XML; 
 
 {如果不怕麻烦, 这样写也可以:} 
 Memo1.Lines.Text := XMLDocument1.XML.Text; 
 
 {如果知道了这点, 那 XML 属性功能可就多了, 并且这里 XML 属性是可写} 
 {不过这里要谈是节点 XML 属性} 
end; 
 
 
//根节点 XML 属性 
procedure TForm1.Button2Click(Sender: TObject); 
var 
 node: IXMLNode; 
begin 
 {先看根节点: XMLDocument1.DocumentElement} 
 node := XMLDocument1.DocumentElement; 
 
 //Memo1.Lines := node.XML; {这句会出错} 
 {节点 XML 属性是 WideString 类型, 应该这样:} 
 Memo1.Lines.Text := node.XML; {将会读出根节点和根节点包含所有内容} 
 
 {还有个更大区别: 节点 XML 是只读!} 
end; 
 
 
//子节点 XML 属性 
procedure TForm1.Button3Click(Sender: TObject); 
var 
 node: IXMLNode; 
begin 
 node := XMLDocument1.DocumentElement; 
 node := node.ChildNodes[0]; 
 
 Memo1.Lines.Text := node.XML; {会显示个子节点全部} 
end; 
 
 
//属性 XML 属性 
procedure TForm1.Button4Click(Sender: TObject); 
var 
 node: IXMLNode; 
begin 
 node := XMLDocument1.DocumentElement; 
 node := node.AttributeNodes[0]; {属性也是 IXMLNode 类型} 
 
 ShowMessage(node.NodeName); {备注} 
 ShowMessage(node.NodeValue); {测试} 
 
 {用 XML 属性次把他们都读出来:} 
 ShowMessage(node.XML);    {备注="测试"} 
end; 
 
 
//叶节点 XML 属性 
procedure TForm1.Button5Click(Sender: TObject); 
var 
 node: IXMLNode; 
begin 
 node := XMLDocument1.DocumentElement; 
 node := node.ChildNodes[0]; 
 node := node.ChildNodes[0]; 
 node := node.ChildNodes[0]; {这就是叶节点了} 
 
 ShowMessage(node.XML); {张 3} 
 
 {这时 XML 属性和 Text 属性样了} 
 ShowMessage(node.Text); {张 3} 
end; 
 
end. 


标签:.netxmldocument
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: