从文本文件创建xml中的数据

时间:2012-10-04 06:54:28

标签: xml delphi nativexml

我想从txt文件创建这个xml文件......

我这样做 代码:

 FXml := TNativeXml.CreateName('Root');
 FXml.XmlFormat := xfReadable;
 open the file
 AssignFile(TFile,'user.txt');
 Reset(TFile);
 while not eof(TFile) do 
 begin
    Readln(TFile,text);
    r :=  Pos(' ',text);
    t2 := Trim(Copy(text,1,Length(text)));
    t1 := Trim(Copy(t2,0,r));
    FXml.Root.NodeNew('row');
    FXml.Root.NodeByName('row').WriteAttributeString('user',t2);
    FXml.Root.NodeByName('row').WriteAttributeString('pin',t1);
 end;
   FXml.SaveToFile('new.xml');
 FXml.free;

我的名字节点错误但是......

谢谢...

1 个答案:

答案 0 :(得分:1)

如果您的文本文件包含多行,则表示您正在创建名为“row”的多个节点。 NodeByName将始终返回具有给定名称的第一个节点。

您应该将NodeNew的结果存储在TXmlNode类型的局部变量中,并使用该变量设置属性。

var
  node: TXmlNode
...
node := FXml.Root.NodeNew('row');
node.WriteAttributeString('user',t2);
node.WriteAttributeString('pin',t1);