You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用XSLT提取XML节点内嵌JSON字符串的指定字段

注意你给出的示例存在两处笔误:

  1. INPUT标签内的JSON语法错误,两个键值对之间的冒号应为逗号,修正后JSON为 {"data":"abc1234","format":"text"}
  2. 预期输出的闭合标签拼写错误,</OUPUT>应为</OUTPUT>,以下实现默认输出正确拼写的标签,可根据需求自行调整。

以下是几种常见场景的实现方案:

1. Python 实现(跨平台通用)

适合需要集成到脚本、批量处理的场景:

import xml.etree.ElementTree as ET
import json

# 替换为你的实际输入内容
input_xml = '<INPUT>{"data":"abc1234","format":"text"}</INPUT>'

# 解析XML提取JSON字符串
json_content = ET.fromstring(input_xml).text
# 解析JSON提取data字段
data_value = json.loads(json_content)["data"]
# 输出指定格式结果
print(f"<OUTPUT>{data_value}</OUTPUT>")

2. Shell 命令行实现(适合 Linux/macOS 终端快速处理)

依赖xmllint和jq工具,大多发行版默认自带:

echo '<INPUT>{"data":"abc1234","format":"text"}</INPUT>' | \
# 提取INPUT标签内的文本
xmllint --xpath 'string(//INPUT)' - | \
# 提取JSON的data字段值
jq -r '.data' | \
# 拼接输出格式
xargs -I {} echo "<OUTPUT>{}</OUTPUT>"

3. JavaScript 实现(适合前端/Node.js 环境)

const inputContent = '<INPUT>{"data":"abc1234","format":"text"}</INPUT>';
// 提取INPUT标签内的JSON,生产环境建议用正式XML解析库替代正则
const jsonStr = inputContent.match(/<INPUT>(.*?)<\/INPUT>/)[1];
const dataValue = JSON.parse(jsonStr).data;
console.log(`<OUTPUT>${dataValue}</OUTPUT>`);

如果需要处理格式复杂、结构多变的XML内容,不要用正则匹配标签,优先选择对应语言的XML解析库处理,避免匹配错误。

内容的提问来源于stack exchange,提问作者sivakumar kala

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 16:33:02