function DataSetToXml(ADataSet: TDataSet;Indent: Integer): string;
var
i: Integer;
Indent1, Indent2: string;
temp: string;
begin
Indent1 := Format('%*s', [Indent * 2, ' ']);
Indent2 := Indent1 + ' ';
Result := EmptyStr;
ADataSet.First;
while not ADataSet.Eof do
begin
Result := Result + Format('%s<%s>'#13#10, [Indent1, 'Project']);
for i := 0 to ADataSet.FieldCount - 1 do
if ADataSet.Fields[i].DataType in [ftString..ftAutoInc, ftMemo,
ftWideString] then
begin
temp := ReplaceString(ADataSet.Fields[i].AsString);
Result := Result + Format('%2:s<%0:s>%1:s</%0:s>'#13#10,
[ADataSet.Fields[i].FieldName, temp, Indent2])
end;
Result := Result + Format('%s</%s>'#13#10, [Indent1, 'Project']);
ADataSet.Next;
end;
end;
能帮我解释一下这里的各个format的大概意思么,谢谢了,我不懂!
var
i: Integer;
Indent1, Indent2: string;
temp: string;
begin
Indent1 := Format('%*s', [Indent * 2, ' ']);
Indent2 := Indent1 + ' ';
Result := EmptyStr;
ADataSet.First;
while not ADataSet.Eof do
begin
Result := Result + Format('%s<%s>'#13#10, [Indent1, 'Project']);
for i := 0 to ADataSet.FieldCount - 1 do
if ADataSet.Fields[i].DataType in [ftString..ftAutoInc, ftMemo,
ftWideString] then
begin
temp := ReplaceString(ADataSet.Fields[i].AsString);
Result := Result + Format('%2:s<%0:s>%1:s</%0:s>'#13#10,
[ADataSet.Fields[i].FieldName, temp, Indent2])
end;
Result := Result + Format('%s</%s>'#13#10, [Indent1, 'Project']);
ADataSet.Next;
end;
end;
能帮我解释一下这里的各个format的大概意思么,谢谢了,我不懂!
Format('%sBC',['A'])=ABC //%s表示字符串
Format('%dBC',[1])=1BC //%d表示整型
%f表示浮点型,%x表示转成十六进制等上面:
Indent1 := Format('%*s', [Indent * 2, ' ']);
就是在空格' '前添加相应的空格直到长度为Indent * 2,可以这样试:
Format(%*s,[5,'A'])= A;//在A前面自动补四个空格直到加上A长度为5
这样用法和Format(%5s,['A'])一样,只是用*代替数字5;还有:
Result := Result + Format('%2:s <%0:s>%1:s </%0:s>'#13#10,
这种格式:Fomrat('%0:s','abc')里的0:表示序号,比如:
Format('%0:s%1:s%0:s%1:s',['A','B'])=ABAB
还有很多用法,自己找资料
<?xml version="1.0" encoding="gb2312"?> <Project>
<CorpNo>666 </CorpNo>
<CorpName>35</CorpName>
<RegisteredArea>345</RegisteredArea>
<CertifyGrade>345</CertifyGrade>
<CorporateName>34</CorporateName>
<CorporatePhone>345</CorporatePhone>
<ProjectNo>777</ProjectNo>
<CorpNo_1>666 </CorpNo_1>
<ProjectName>32</ProjectName>
<ProjectArea>34</ProjectArea>
<GetMode>3 </GetMode>
<LandGertify>34</LandGertify>
<GetTime>3009-03-03</GetTime>
<LandPrice>345</LandPrice>
<FloorArea>345</FloorArea>
<InverstNum>345</InverstNum>
<OwnFund>34</OwnFund>
<Finance>345</Finance>
<ProjectPurpose>345 </ProjectPurpose>
<ProjectStart>3008-03-09</ProjectStart>
<ProjectFinish>3007-09-04</ProjectFinish>
<ProjectManager>43</ProjectManager>
<RegionType>34 </RegionType>
<RegionName>34 </RegionName>
<Address>34</Address>
<PreGrantNo>345</PreGrantNo>
<ProjectNo_1>777</ProjectNo_1>
<CorpNo_2>666 </CorpNo_2>
<GrantArea>345</GrantArea>
<GrantHouseArea>35</GrantHouseArea>
<GrantSetNum>34</GrantSetNum>
<GrantHSetNum>345</GrantHSetNum>
<GrantTime>2999-02-02</GrantTime>
<OpenTime>3003-03-03</OpenTime>
<AveragePrice>345</AveragePrice>
<Status>34</Status>
<HouseID>345</HouseID>
<ProjectNo_2>777</ProjectNo_2>
<PreGrantNo_1>345</PreGrantNo_1>
<BuildCode>32</BuildCode>
<CellCode>324</CellCode>
<HouseCode>2345</HouseCode>
<Structure>323</Structure>
<Style>576</Style>
<FloorArea_1>567</FloorArea_1>
<InsideArea>34</InsideArea>
<Price>3</Price>
<HousePurpose>768 </HousePurpose>
<HouseProperty>867</HouseProperty>
<HouseID_1>435</HouseID_1>
<ProjectNo_3>777</ProjectNo_3>
<ContractNo>345</ContractNo>
<Status_1>35 </Status_1>
<BargainNum>345</BargainNum>
<BargainTime>2009-03-03</BargainTime>
<ChangeTime>3009-03-03</ChangeTime>
<PayWay>34</PayWay>
<FPMoney>345</FPMoney>
<LoanMoney>325</LoanMoney>
<FundMoney>35</FundMoney>
<MoneyType>325</MoneyType>
<LoginTime>20091202</LoginTime>
</Project>
<Project>
<CorpNo>111 </CorpNo>
<CorpName>222</CorpName>
<RegisteredArea>333</RegisteredArea>
<CertifyGrade>444</CertifyGrade>
<CorporateName>555</CorporateName>
<CorporatePhone>666</CorporatePhone>
<ProjectNo>999</ProjectNo>
<CorpNo_1>111 </CorpNo_1>
<ProjectName>sdf</ProjectName>
<ProjectArea>23</ProjectArea>
<GetMode>23 </GetMode>
<LandGertify>fs</LandGertify>
<GetTime>2001-01-01</GetTime>
<LandPrice>2</LandPrice>
<FloorArea>234</FloorArea>
<InverstNum>234</InverstNum>
<OwnFund>23</OwnFund>
<Finance>234</Finance>
<ProjectPurpose>234 </ProjectPurpose>
<ProjectStart>2009-02-02</ProjectStart>
<ProjectFinish>2008-02-02</ProjectFinish>
<ProjectManager>32</ProjectManager>
<RegionType>23 </RegionType>
<RegionName>23 </RegionName>
<Address>24</Address>
<PreGrantNo>234</PreGrantNo>
<ProjectNo_1>999</ProjectNo_1>
<CorpNo_2>111 </CorpNo_2>
<GrantArea>234</GrantArea>
<GrantHouseArea>234</GrantHouseArea>
<GrantSetNum>234</GrantSetNum>
<GrantHSetNum>234</GrantHSetNum>
<GrantTime>2003-03-03</GrantTime>
<OpenTime>2003-02-02</OpenTime>
<AveragePrice>23</AveragePrice>
<Status>23</Status>
<HouseID>1</HouseID>
<ProjectNo_2>999</ProjectNo_2>
<PreGrantNo_1>21</PreGrantNo_1>
<BuildCode>21</BuildCode>
<CellCode>21</CellCode>
<HouseCode>21</HouseCode>
<Structure>211</Structure>
<Style>4654</Style>
<FloorArea_1>45</FloorArea_1>
<InsideArea>4</InsideArea>
<Price>87</Price>
<HousePurpose>56787 </HousePurpose>
<HouseProperty>87 </HouseProperty>
<HouseID_1>452</HouseID_1>
<ProjectNo_3>999</ProjectNo_3>
<ContractNo>4</ContractNo>
<Status_1>24 </Status_1>
<BargainNum>2</BargainNum>
<BargainTime>4265-09-09</BargainTime>
<ChangeTime>4694-09-09</ChangeTime>
<PayWay>4</PayWay>
<FPMoney>42</FPMoney>
<LoanMoney>4</LoanMoney>
<FundMoney>24</FundMoney>
<MoneyType>54 </MoneyType>
<LoginTime>20091202</LoginTime>
</Project>
你能帮帮我么?我不会做xml的,现在很急,要将数据做成xml格式的,谢谢了,最好提供一个案例之类的!