gpt4 book ai didi

delphi - TXMLDocument 中出现意外结果

转载 作者:行者123 更新时间:2023-12-02 04:25:53 27 4
gpt4 key购买 nike

我尝试创建一个 xml 文档来访问 web 服务。我无法像我想要的那样获得结果 xml。 :-) 这是我用来创建此文档的 delphicode。

  xmlQuery.Active := true;
xmlQuery.Version := '1.0';
xmlQuery.Encoding := 'UTF-8';
lEnvelope := xmlQuery.AddChild('soap:Envelope');
lEnvelope.Attributes['xmlns:soap'] := 'http://schemas.xmlsoap.org/soap/envelope/';
lHeader := lEnvelope.AddChild('soap:Header');
lBruker := lHeader.AddChild('brukersesjon:Brukersesjon');
lValue := lBruker.AddChild('distribusjonskanal');
lValue.Text := 'PTP';
lValue := lBruker.AddChild('systemnavn');
lValue.Text := 'infotorgEG';

生成的 xml 如下所示。

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<brukersesjon:Brukersesjon>
<brukersesjon:distribusjonskanal>PTP</brukersesjon:distribusjonskanal>
<brukersesjon:systemnavn>infotorgEG</brukersesjon:systemnavn>
</brukersesjon:Brukersesjon>
</soap:Header>
</soap:Envelope>

我希望它看起来像这样。

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<brukersesjon:Brukersesjon>
<distribusjonskanal>PTP</distribusjonskanal>
<systemnavn>infotorgEG</systemnavn>
</brukersesjon:Brukersesjon>
</soap:Header>
</soap:Envelope>

我不知道我做错了什么。你们有人能帮我吗?你们中有人知道创建包含 header 和正文的 xml 文件的示例/教程吗?

最佳答案

使用重载的 IXMLNode.AddChild,该重载的 IXMLNode.AddChildNameSpaceURI 提供第二个参数:

xmlQuery.Active := true;
xmlQuery.Version := '1.0';
xmlQuery.Encoding := 'UTF-8';
lEnvelope := xmlQuery.AddChild('soap:Envelope');
lEnvelope.Attributes['xmlns:soap'] := 'http://schemas.xmlsoap.org/soap/envelope/';
lHeader := lEnvelope.AddChild('soap:Header');
lBruker := lHeader.AddChild('brukersesjon:Brukersesjon');
lValue := lBruker.AddChild('distribusjonskanal', ''); // <<<-- Here
lValue.Text := 'PTP';
lValue := lBruker.AddChild('systemnavn', ''); // <<<-- And here
lValue.Text := 'infotorgEG';

这会产生您显示为所需输出的输出。

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header><brukersesjon:Brukersesjon>
<distribusjonskanal>PTP</distribusjonskanal>
<systemnavn>infotorgEG</systemnavn>
</brukersesjon:Brukersesjon>
</soap:Header>
</soap:Envelope>

关于delphi - TXMLDocument 中出现意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27626613/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com