XML格式化工具

专业的在线XML处理工具,支持美化、压缩、转JSON等功能

输入XML

粘贴需要处理的XML代码

处理选项

选择处理方式

操作类型

缩进方式

缩进大小

处理结果

处理后的结果

代码示例

JavaScript XML处理

// XML美化
function beautifyXML(xml, indent = '    ') {
    let formatted = '';
    let pad = 0;
    const tags = xml.match(/<[^>]+>/g) || [];
    
    for (let i = 0; i < xml.length; i++) {
        const tag = tags.shift();
        if (!tag) break;
        
        if (tag.startsWith('') && !tag.startsWith('\s+<').replace(/\s+/g, ' ').trim();
}

Python XML处理

import xml.etree.ElementTree as ET
import json

# XML美化
def beautify_xml(xml_str, indent='    '):
    root = ET.fromstring(xml_str)
    
    def indent(elem, level=0):
        i = '\n' + level * indent
        if len(elem):
            if not elem.text or not elem.text.strip():
                elem.text = i + indent
            if not elem.tail or not elem.tail.strip():
                elem.tail = i
            for elem in elem:
                indent(elem, level + 1)
            if not elem.tail or not elem.tail.strip():
                elem.tail = i
        else:
            if level and (not elem.tail or not elem.tail.strip()):
                elem.tail = i
    
    indent(root)
    return ET.tostring(root, encoding='unicode')

# XML转JSON
def xml_to_json(xml_str):
    root = ET.fromstring(xml_str)
    
    def element_to_dict(elem):
        result = {}
        # 处理属性
        result.update(elem.attrib)
        # 处理子元素
        for child in elem:
            child_data = element_to_dict(child)
            if child.tag in result:
                if not isinstance(result[child.tag], list):
                    result[child.tag] = [result[child.tag]]
                result[child.tag].append(child_data)
            else:
                result[child.tag] = child_data
        # 处理文本
        if elem.text and elem.text.strip():
            if result:
                result['#text'] = elem.text.strip()
            else:
                return elem.text.strip()
        return result
    
    return {root.tag: element_to_dict(root)}

关于XML

什么是XML?

XML(可扩展标记语言)是一种用于存储和传输数据的标记语言。XML使用标签来描述数据,具有良好的可读性和可扩展性,广泛应用于配置文件、数据交换、Web服务等领域。

XML vs JSON

  • XML:更严格、支持命名空间、适合复杂文档、文件较大
  • JSON:更简洁、解析更快、适合Web API、文件较小