这个问题我已经困扰很长时间了,但我自己无法解决。我也尝试过搜索 Google、Bing 和 stackOverflow?运气不好...
我正在尝试使用 Delphi 2006 的 TXMLDocument 组件手动构造一个肥皂头:
... ... ... ... ... ...
我正在做的是构建一个名为“soap:Envelope”的新元素。在这个新元素中,我创建了三个属性:“xmlns:soap”、“xmlns:xsd”和“xmlns:xsi”。
当我尝试在三个属性中的任何一个中写入值时,我收到以下错误:
尝试修改只读节点。
有人知道如何使用 TXMLDocument 完成这项任务吗?
/布莱恩
最佳答案
下面的代码在这里工作正常:
procedure WriteSoapFile;
var
Document: IXMLDocument;
Envelope: IXMLNode;
Body: IXMLNode;
begin
Document := NewXMLDocument;
Envelope := Document.AddChild('soap:Envelope');
Envelope.Attributes['xmlns:soap'] := 'schemas.xmlsoap.org/soap/envelope/';
Envelope.Attributes['xmlns:xsd'] := 'w3.org/2001/XMLSchema';
Envelope.Attributes['xmlns:xsi'] := 'w3.org/2001/XMLSchema-instance';
Body := Envelope.AddChild('soap:Body');
Document.SaveToFile('Test.xml');
end;
您应该能够使用 TXMLDocument
而不是 IXMLDocument
,它只是接口(interface)周围的组件包装器。
关于xml - 如何使用 TXMLDocument 手动构造 Soap Envelope (Delphi 2006),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4667081/