返回顶部
X

XMLXML处理

Parse, generate, and transform XML with correct namespace handling and encoding.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
1,106
下载量
免费
免费
2
收藏
概述
安装方式
版本历史

XML

命名空间

  • - 若文档存在默认命名空间,XPath /root/child 会失效——应使用 //*[local-name()=child] 或注册前缀
  • 默认命名空间(xmlns=...)仅作用于元素,不作用于属性——属性需显式声明前缀
  • 命名空间前缀可任意指定——若两个前缀映射至同一URI,则 完全相同
  • 子元素不会继承父元素的带前缀命名空间——每个子元素必须显式声明或使用前缀

编码

  • - 必须与实际文件编码一致——编码不匹配会损坏非ASCII字符
  • 编码声明必须位于文件最开头——其前不得有空白字符或BOM(UTF-8 BOM除外)
  • 若省略编码声明,默认编码为UTF-8——但显式声明在不同解析器中更安全

转义与CDATA

  • - 文本中需始终转义五个实体:& < > " '
  • 包含大量特殊字符的代码块可使用CDATA段 ——但CDATA内部出现 ]]> 会破坏结构
  • 属性值:若用 界定则使用 ",若用 界定则使用 '
  • 数字实体 < 和 < 适用于所有场景——处理边界情况时尤为实用

空白字符

  • - 默认保留元素间的空白字符——格式化输出新增的节点可能破坏处理逻辑
  • xml:space=preserve 属性用于标识空白字符的重要性——但并非所有解析器都遵循此规则
  • XPath中的空白标准化:normalize-space(text()) 可去除首尾空白并压缩内部连续空白

XPath陷阱

  • - //element 查询代价高昂——会遍历整个文档;已知结构时应使用具体路径
  • 位置索引从1开始:[1] 表示第一个元素,而非 [0]
  • text() 仅返回直接文本子节点——获取拼接后的后代文本应使用 string() 或 .
  • 谓词中的布尔值:[@attr] 检测属性是否存在,[@attr=] 检测属性是否为空值——两者结果不同

结构

  • - 自闭合标签 与空标签 语义完全相同——但部分旧系统无法处理自闭合标签
  • 注释中不能包含 --——即使出现在字符串内容中也会导致解析器报错
  • 处理指令 的数据部分不能包含 ?>
  • 必须存在根元素——仅包含注释/处理指令而无元素的文档无效

验证

  • - 格式良好 ≠ 有效——解析器可能接受结构正确的文档,但无法通过模式验证
  • DTD可进行验证但无法表达复杂约束——新项目建议使用XSD或RelaxNG
  • XSD命名空间 xmlns:xs=http://www.w3.org/2001/XMLSchema 常与实例命名空间混淆

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 xml-1776327976 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 xml-1776327976 技能

通过命令行安装

skillhub install xml-1776327976

下载

⬇ 下载 XML v1.0.0(免费)

文件大小: 1.96 KB | 发布时间: 2026-4-17 15:08

v1.0.0 最新 2026-4-17 15:08
Initial release

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部