Delphi DOM Xml appendChild in for语句

Delphi DOM Xml appendChild in for语句,xml,delphi,dom,Xml,Delphi,Dom,AHello我目前正在从事一个允许xml文件和数据集之间交互的项目 这是我的密码: // Number of lines of the DataSet = Number of "REC" element for i := 0 to aDataSet.RecordCount - 1 do begin // Create a new Node aNewNode := aXml.createElement('REC'); for j :=

AHello我目前正在从事一个允许xml文件和数据集之间交互的项目

这是我的密码:

    // Number of lines of the DataSet = Number of "REC" element
    for i := 0 to aDataSet.RecordCount - 1 do
    begin
      // Create a new Node
      aNewNode := aXml.createElement('REC');

      for j := 0 to slColumnName.Count - 1 do
      begin
        aNewNode.setAttribute('x','y');
      end;

      // Add new Node
      aNodeTBL.appendChild(aNewNode);
    end;
aNodeTBL->对应于父节点,我想创建尽可能多的节点“REC”,将数据集列成一行

我可以看到我仍然在“aNewNode”上,所以只写了一个“REC”节点


我应该重新实例化“aNewNode”吗

尝试使用
aNodeTBL.AddChild()
而不是
aXml.createElement()
aNodeTBL.appendChild()


当您调用
createElement()
时,您已经是了。那么,您遇到的实际问题是什么呢?很抱歉,我看到了错误,我忘记了读取ma数据集。我很糟糕……您知道我在执行createElement时是否可以添加回车符吗?此代码构建了一个节点树。在构建树时,您不应该担心空格和换行,只有在构建完成后将树转换为字符串时才应该担心。(T | I)
XMLDocument
具有一个
doNodeAutoIndent
标志,用于将空格/换行符元素插入到生成的XML中。或者看看
FormatXMLData()
函数。我很担心,因为xml文件必须在TFS中与以前的版本进行比较。或者,如果新的xml文件不是自动缩进,则很难轻松进行比较:)。我来看看FormatXMLData。谢谢
// Number of lines of the DataSet = Number of "REC" element
for i := 0 to aDataSet.RecordCount - 1 do
begin
  // Create a new Node
  aNewNode := aNodeTBL.AddChild('REC');

  for j := 0 to slColumnName.Count - 1 do
  begin
    aNewNode.Attributes['x'] := 'y';
  end;
end;