我正在尝试在Delphi中编写XML。
如果我给一个节点添加xmlns属性,那么该节点的子节点也会显示这个属性,但是是空的。我如何防止子节点显示该属性?
我使用以下代码进行测试:
procedure TForm2.Button1Click(Sender: TObject);
var
RootNode, CurNode, PmtNode, PmtDetNode : IXMLNODE;
I:Integer;
begin
SepaDoc := Newxmldocument;
SepaDoc.Encoding := 'utf-8';
SepaDoc.Options := [doNodeAutoIndent];
RootNode := SepaDoc.AddChild('Document');
CurNode := RootNode.AddChild('Child1');
CurNode.Attributes['xmlns'] := 'apenootje';
CurNode := CurNode.AddChild('Child2');
CurNode := CurNode.AddChild('Child3');
SepaDoc.SaveToFile('D:\indir\testsepa.xml');
end;
这将导致以下XML结果。
<?xml version="1.0" encoding="UTF-8"?>
-<Document> -<Child1 xmlns="apenootje">
-<Child2 xmlns="">
<Child3/>
</Child2>
</Child1>
</Document>
感谢Rob Nowee。