| 123456789101112131415161718192021222324252627 |
- import { XMLParser } from "fast-xml-parser"
- /**
- * Parses an XML string into a JavaScript object
- * @param xmlString The XML string to parse
- * @returns Parsed JavaScript object representation of the XML
- * @throws Error if the XML is invalid or parsing fails
- */
- export function parseXml(xmlString: string, stopNodes?: string[]): unknown {
- const _stopNodes = stopNodes ?? []
- try {
- const parser = new XMLParser({
- ignoreAttributes: false,
- attributeNamePrefix: "@_",
- parseAttributeValue: false,
- parseTagValue: false,
- trimValues: true,
- stopNodes: _stopNodes,
- })
- return parser.parse(xmlString)
- } catch (error) {
- // Enhance error message for better debugging
- const errorMessage = error instanceof Error ? error.message : "Unknown error"
- throw new Error(`Failed to parse XML: ${errorMessage}`)
- }
- }
|