yaml演示
uses Neslib.Yaml;
{invoice.yaml invoice: 34843 date : 2001-01-23 bill-to: &id001 given : Chris family : Dumars address: lines: | 458 Walkman Dr. Suite #292 city : Royal Oak state : MI postal : 48046 ship-to: *id001 product: - sku : BL394D quantity : 4 description : Basketball price : 450.00 - sku : BL4438H quantity : 1 description : Super Hoop price : 2392.00 tax : 251.42 total: 4443.52 comments: > Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338. } procedure TForm2.Button1Click(Sender: TObject); //读 begin var Doc: IYamlDocument := TYamlDocument.Load('invoice.yaml'); var Price: double := Doc.Root.Values['product'].Nodes[1].Values['price'].ToDouble; Caption := Price.ToString; //2392 Caption := Doc.Root.Values['product'].Nodes[1].Values['sku'].ToString; //BL4438H Caption := doc.Root.Values['invoice'].ToString; //34843 end; procedure TForm2.Button2Click(Sender: TObject); //写 begin var Doc: IYamlDocument := TYamlDocument.CreateMapping; Doc.Root.AddOrSetValue('invoice', 34843); Doc.Root.AddOrSetValue('date', '2001-01-23'); var Products: TYamlNode := Doc.Root.AddOrSetSequence('product'); var Product: TYamlNode := Products.AddMapping; Product.AddOrSetValue('sku', 'BL394D'); Product.AddOrSetValue('quantity', 4); Caption := doc.ToYaml; end;