# XMLè½¬æ¢ å°†XML文本转æ¢ä¸ºJavaScript对象å¯ä»¥æ›´è½»æ¾åœ°å¤„ç†å’Œæ“作数æ®ï¼Œå¹¶ä¸”更适åˆåœ¨JavaScript应用程åºä¸ä½¿ç”¨ã€‚ è¯è¨€åŸºç¡€ç±»åº“æä¾›ConvertXML类将XML文本转æ¢ä¸ºJavaScript对象,输入为待转æ¢çš„XMLå—符串åŠè½¬æ¢é€‰é¡¹ï¼Œè¾“出为转æ¢åŽçš„JavaScript对象。具体转æ¢é€‰é¡¹å¯è§[APIå‚考@ohos.convertxml](../reference/apis-arkts/js-apis-convertxml.md)。 ## 注æ„事项 XML解æžåŠè½¬æ¢éœ€è¦ç¡®ä¿ä¼ 入的XMLæ•°æ®ç¬¦åˆæ ‡å‡†æ ¼å¼ã€‚ ## å¼€å‘æ¥éª¤ æ¤å¤„以XML转为JavaScript对象åŽèŽ·å–å…¶æ ‡ç¾å€¼ä¸ºä¾‹ï¼Œè¯´æ˜Žè½¬æ¢æ•ˆæžœã€‚ 1. 引入模å—。 ```ts import { convertxml } from '@kit.ArkTS'; ``` 2. 输入待转æ¢çš„XML,设置转æ¢é€‰é¡¹ï¼Œæ”¯æŒçš„转æ¢é€‰é¡¹åŠå«ä¹‰å…·ä½“å¯è§[ConvertOptions](../reference/apis-arkts/js-apis-convertxml.md#convertoptions)。 > **说明:** > > ä¼ å…¥çš„XML文本ä¸ï¼Œè‹¥åŒ…å«â€œ&â€å—符,请使用实体引用“\&â€æ›¿æ¢ã€‚ ```ts let xml: string = '<?xml version="1.0" encoding="utf-8"?>' + '<note importance="high" logged="true">' + ' <title>Happy</title>' + ' <todo>Work</todo>' + ' <todo>Play</todo>' + '</note>'; let options: convertxml.ConvertOptions = { // trim: false 转æ¢åŽæ˜¯å¦åˆ 除文本å‰åŽçš„ç©ºæ ¼ï¼Œå¦ // declarationKey: "_declaration" 转æ¢åŽæ–‡ä»¶å£°æ˜Žä½¿ç”¨_declarationæ¥æ ‡è¯† // instructionKey: "_instruction" 转æ¢åŽæŒ‡ä»¤ä½¿ç”¨_instructionæ ‡è¯† // attributesKey: "_attributes" 转æ¢åŽå±žæ€§ä½¿ç”¨_attributesæ ‡è¯† // textKey: "_text" 转æ¢åŽæ ‡ç¾å€¼ä½¿ç”¨_textæ ‡è¯† // cdataKey: "_cdata" 转æ¢åŽæœªè§£æžæ•°æ®ä½¿ç”¨_cdataæ ‡è¯† // docTypeKey: "_doctype" 转æ¢åŽæ–‡æ¡£ç±»åž‹ä½¿ç”¨_doctypeæ ‡è¯† // commentKey: "_comment" 转æ¢åŽæ³¨é‡Šä½¿ç”¨_commentæ ‡è¯† // parentKey: "_parent" 转æ¢åŽçˆ¶ç±»ä½¿ç”¨_parentæ ‡è¯† // typeKey: "_type" 转æ¢åŽå…ƒç´ 类型使用_typeæ ‡è¯† // nameKey: "_name" 转æ¢åŽæ ‡ç¾å称使用_nameæ ‡è¯† // elementsKey: "_elements" 转æ¢åŽå…ƒç´ 使用_elementsæ ‡è¯† trim: false, declarationKey: "_declaration", instructionKey: "_instruction", attributesKey: "_attributes", textKey: "_text", cdataKey: "_cdata", doctypeKey: "_doctype", commentKey: "_comment", parentKey: "_parent", typeKey: "_type", nameKey: "_name", elementsKey: "_elements" } ``` 3. 调用转æ¢å‡½æ•°ï¼Œæ‰“å°ç»“果。 ```ts let conv: convertxml.ConvertXML = new convertxml.ConvertXML(); let result: object = conv.convertToJSObject(xml, options); let strRes: string = JSON.stringify(result); // å°†js对象转æ¢ä¸ºjsonå—符串,用于显å¼è¾“出 console.info(strRes); ``` 输出结果如下所示: ```json strRes: {"_declaration":{"_attributes":{"version":"1.0","encoding":"utf-8"}},"_elements":[{"_type":"element","_name":"note", "_attributes":{"importance":"high","logged":"true"},"_elements":[{"_type":"element","_name":"title", "_elements":[{"_type":"text","_text":"Happy"}]},{"_type":"element","_name":"todo", "_elements":[{"_type":"text","_text":"Work"}]},{"_type":"element","_name":"todo", "_elements":[{"_type":"text","_text":"Play"}]}]}]} ```