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

如何用Presto(MySQL)提取HTML格式内的指定值?

提取<admin>标签内数值的技术方案

以下是几种不同场景下的可行解决方案,覆盖常用编程语言和命令行工具:

1. Python 实现(标准库)

用Python内置的xml.etree.ElementTree模块解析XML结构,无需额外安装依赖:

import xml.etree.ElementTree as ET

# 待解析的XML内容
xml_content = "<payment><no_code>88888</no_code><signature>fbf2c1e</signature><customer_no>4150</customer_no><amount>80</amount><admin>7</admin><total>87</total><transaction_code>0000894</transaction_code></payment>"

# 解析并提取值
root = ET.fromstring(xml_content)
admin_value = root.find('admin').text
print(admin_value)  # 输出:7

2. JavaScript 实现

浏览器环境

直接用原生DOMParser解析:

const xmlContent = "<payment><no_code>88888</no_code><signature>fbf2c1e</signature><customer_no>4150</customer_no><amount>80</amount><admin>7</admin><total>87</total><transaction_code>0000894</transaction_code></payment>";
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(xmlContent, "text/xml");
const adminValue = xmlDoc.querySelector("admin").textContent;
console.log(adminValue); // 输出:7

Node.js 环境

先安装xml2js依赖,再解析:

npm install xml2js
const xml2js = require('xml2js');
const xmlContent = "<payment><no_code>88888</no_code><signature>fbf2c1e</signature><customer_no>4150</customer_no><amount>80</amount><admin>7</admin><total>87</total><transaction_code>0000894</transaction_code></payment>";

xml2js.parseString(xmlContent, (err, result) => {
  if (err) throw err;
  const adminValue = result.payment.admin[0];
  console.log(adminValue); // 输出:7
});

3. 命令行工具(Linux/macOS)

用xmllint结合XPath提取,无需编写代码:

echo "<payment><no_code>88888</no_code><signature>fbf2c1e</signature><customer_no>4150</customer_no><amount>80</amount><admin>7</admin><total>87</total><transaction_code>0000894</transaction_code></payment>" | xmllint --xpath "string(/payment/admin)" -

执行后直接输出7。

注意事项

  • 不建议用正则表达式提取,因为XML/HTML结构可能出现换行、属性等变化,正则容错性差,容易解析出错。
  • 确保输入内容是合法的XML结构,否则解析工具会抛出错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 04:50:22