我想从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;
我的名字节点错误但是......
谢谢...
答案 0 :(得分:1)
如果您的文本文件包含多行,则表示您正在创建名为“row”的多个节点。 NodeByName将始终返回具有给定名称的第一个节点。
您应该将NodeNew的结果存储在TXmlNode类型的局部变量中,并使用该变量设置属性。
var
node: TXmlNode
...
node := FXml.Root.NodeNew('row');
node.WriteAttributeString('user',t2);
node.WriteAttributeString('pin',t1);