色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

delphi7 xml轉json

江奕云2年前9瀏覽0評論

Delphi7是老牌編程語言,在處理數據時仍然有廣泛的應用。本文將介紹如何在Delphi7中使用第三方庫將XML轉換為JSON格式。

以下是用于轉換的Delphi7代碼:

uses
IdGlobal, IdCoderMIME, MSXML2_TLB, DBXJSON, SysUtils;
function XmlToJson(xml: String): String;
var
xmlDoc: IXMLDOMDocument;
rootNode: IXMLDOMNode;
json: TJSONObject;
element: IXMLDOMElement;
childNode: IXMLDOMNode;
i: Integer;
begin
xmlDoc := CoDOMDocument.Create;
xmlDoc.loadXML(xml);
rootNode := xmlDoc.childNodes.item[0];
json := TJSONObject.Create;
for i := 0 to rootNode.childNodes.length - 1 do
begin
childNode := rootNode.childNodes.item[i];
if childNode.nodeType = NODE_ELEMENT then
begin
element := childNode as IXMLDOMElement;
json.AddPair(element.nodeName, element.text);
end;
end;
Result := json.ToString;
end;

該函數使用MSXML庫將XML字符串加載到一個XML文檔中。然后,遍歷XML文檔的子節點,將每個元素的名稱和文本值添加為一個JSON鍵值對。最后,通過調用TJSONObject的ToString方法將其序列化為JSON格式的字符串。

以下是使用示例:

var
xmlString, jsonString: String;
begin
xmlString := '<root><name>John Doe</name><age>30</age></root>';
jsonString := XmlToJson(xmlString);
ShowMessage(jsonString);
end;

上述示例將XML字符串“<root><name>John Doe</name><age>30</age></root>”轉換為JSON字符串“{'name':'John Doe','age':'30'}”并將其顯示在消息框中。

總的來說,在Delphi7中使用第三方庫將XML轉換為JSON格式是非常簡單的。以上代碼不僅適用于Delphi7,也適用于更高版本的Delphi。