<?xml version="1.0" encoding="UTF-8" ?> 
- <娱乐服务场所治安管理信息系统数据交换格式>
- <数据包头描述>
  <开始时间>2010-05-06 09:30:53</开始时间> 
  <发送单位>320401123456</发送单位> 
  </数据包头描述>
- <从业人员信息>
- <从业人员信息记录>
  <娱乐服务场所备案编号>xxxx</娱乐服务场所备案编号> 
  <从业人员编号>xxxx</从业人员编号> 
  <从业人员类别代码>xxxx</从业人员类别代码> 
  <姓名>xxxx</姓名> 
  <别名>xxxx</别名> 
  ..... 
  <注销日期>xxxx</注销日期> 
  </从业人员信息记录>
- <从业人员信息记录>
  <娱乐服务场所备案编号>xxxx</娱乐服务场所备案编号> 
  <从业人员编号>xxxx</从业人员编号> 
  <从业人员类别代码>xxxx</从业人员类别代码> 
  <姓名>xxxx</姓名> 
  <别名>xxxx</别名> 
  ..... 
  <注销日期>xxxx</注销日期> 
  </从业人员信息记录>
  .... 
  </从业人员信息>
  </娱乐服务场所治安管理信息系统数据交换格式>请问这个是不是要用两个XMLDocument1?能不能高手帮忙写个代码我看看

解决方案 »

  1.   

    给你发一个自己参考过的资料吧,创建、读、写操作都有了。
    {
      创建一个有结构的空XML文档
    }
    procedure TForm1.Button1Click(Sender: TObject);
    var
      Xml: TXmlDocument;
      RootNode, Node1, Node2: IXmlNode;
    begin
      Xml := TXmlDocument.Create(nil);
      try
        Xml.Active := True;
        Xml.Version := '1.0';
        Xml.Encoding := 'GB2312';
        RootNode := Xml.CreateNode('Students');
        Xml.DocumentElement := RootNode;
        Node1 := Xml.CreateNode('Student');
        RootNode.ChildNodes.Add(Node1);
        Node2 := Xml.CreateNode('Name');
        Node1.ChildNodes.Add(Node2);
        Node2 := Xml.CreateNode('Sex');
        Node1.ChildNodes.Add(Node2);
        Xml.SaveToFile('test.xml');
        Xml.Active := False;
        ShowMessage('创建Xml文件成功');
      finally
        Xml.Free;
      end;
    end;{
      打开XML文档
    }
    procedure TForm1.Button2Click(Sender: TObject);
    var
      Xml: TXmlDocument;
      RootNode: IXmlNode;
      a, b: String;
    begin
      Xml := TXmlDocument.Create(Application);
      try
        Xml.LoadFromFile('test.xml');
        Xml.Active := True;
        RootNode := Xml.DocumentElement.ChildNodes['Student'];
        if not VarIsNull(RootNode.ChildNodes['Name'].NodeValue) then
          a := RootNode.ChildNodes['Name'].NodeValue
        else a := '';
        if not VarIsNull(RootNode.ChildNodes['Sex'].NodeValue) then
          b := RootNode.ChildNodes['Sex'].NodeValue
        else b := '';
        Edit1.Text := a;
        Edit2.Text := b;
        Xml.Active := False;
      finally
        Xml.Free;
      end;
    end;
    {
       写入XML文档
    }
    procedure TForm1.Button3Click(Sender: TObject);
    var
      Xml: TXmlDocument;
      RootNode: IXmlNode;
    begin
      Xml := TXmlDocument.Create(Application);
      try
        Xml.LoadFromFile('test.xml');
        Xml.Active := True;
        RootNode := Xml.DocumentElement.ChildNodes['Student'];
        RootNode.ChildNodes['Name'].NodeValue := Edit3.Text;
        RootNode.ChildNodes['Sex'].NodeValue := Edit4.Text;
        Xml.SaveToFile('test.xml');
        Xml.Active := False;
      finally
        Xml.Free;
      end;
    end;
      

  2.   

    读取这个XML文件?
    一个TXMLDocument对象即可
      

  3.   

    不需要两个,从element节点 顺序取节点以及属性就可以了
      

  4.   

    xml文件直接load就好了    XMLDoc.FileName := filename
        XMLDoc.Active := True;
      

  5.   

    使用一個TXMLDocument對象即可讀取這個XML...