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。
下一篇CSS背景圖像自我復制