Delphi DOM Xml appendChild in for语句
AHello我目前正在从事一个允许xml文件和数据集之间交互的项目 这是我的密码: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 :=
// 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;