gpt4 book ai didi

xml - 如何从 SQL Server 2005 中获取 XML 数据并将其作为节点插入到 TXMLDocument 中?

转载 作者:数据小太阳 更新时间:2023-10-29 02:32:17 26 4
gpt4 key购买 nike

我需要从我的数据库中获取数据来创建单独的 xml 文件。我已经完成了大部分工作,但我不知道如何将数据从 XML 字段中取出并放入我正在创建的 XMLDocument 中。当我尝试将其作为文本处理时,它无法正常工作。

到目前为止,这是我的代码:

XMLDoc.Active := true;
aNode := XMLDoc.AddChild('item');
aNode.SetAttribute('id','Drug');
bNode := aNode.AddChild('item');
bNode.SetAttribute('id','LDPId');
bNode.Text := IntToStr(vwFirstLifeLabelId.Value); // This works fine.

bNode := aNode.AddChild('item');
bNode.SetAttribute('id','Indications and Usage');
bNode.Text := vwFirstLifeIndicationsandUsage.AsString; // This doesn't work!

我在 xml 中得到的是:

<item id="Drug">
<item id="LDPId">38696</item>
<item id="Warnings and Precautions">?&lt;component xmlns="urn:hl7-org:v3"&gt;&lt;section ID="Section_5"&gt;&lt;id root="2e0bdeb7-2254-4217-b6b6-523848d65112"/&gt &lt/section&gt;&lt;/component&gt;</item>
</item>

代替:

<item id="Drug">
<item id="LDPId">38696</item>
<item id="Warnings and Precautions">
<component xmlns="urn:hl7-org:v3">
<section ID="Section_5">
<id root="2e0bdeb7-2254-4217-b6b6-523848d65112"/>
</section>
</component>
</item>
</item>

我想我有两个问题:1) 如何从 xmlfield 中以 XML 而不是文本的形式获取 XML,以及 2) 然后如何在我的警告和预防措施节点下插入一段 XML 作为子节点?

感谢任何人可以提供给我的帮助!

特里

最佳答案

如果我正确理解你的问题,你需要从字段中读取 XML 字符串并插入到 Xml 节点中。您可以创建一个 Dummy Xml 文档并加载 Xml 字符串,然后检索 DocumentElement 属性并分配给您想要的节点。

检查这个样本

const
XmlStr =
'<component xmlns="urn:hl7-org:v3">'+
'<section ID="Section_5">'+
'<id root="2e0bdeb7-2254-4217-b6b6-523848d65112"/>'+
'</section>'+
'</component>';
var
oXmlDoc : IXMLDocument;
cXmlDoc : IXMLDocument;
Node : IXMLNode;
begin
oXmlDoc := TXMLDocument.Create(nil);
try
oXmlDoc.Options := [doNodeAutoIndent];
oXmlDoc.Active := true;
Node:=oXmlDoc.AddChild('item');

cXmlDoc := TXMLDocument.Create(nil);
try
cXmlDoc.Active := true;
cXmlDoc.LoadFromXML(XmlStr);
//assing the XML to the Node
Node.ChildNodes.Add(cXmlDoc.DocumentElement);
finally
cXmlDoc:=nil;
end;

finally
oXmlDoc:=nil;
end;
end;

结果会是

<item>
<component xmlns="urn:hl7-org:v3">
<section ID="Section_5">
<id root="2e0bdeb7-2254-4217-b6b6-523848d65112"/>
</section>
</component>
</item>

关于xml - 如何从 SQL Server 2005 中获取 XML 数据并将其作为节点插入到 TXMLDocument 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5599485/

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