如何替换 xml 中的前缀属性?

How can i replace attribute of prefix in xml?

我想在 java 中替换 xml 的属性。

我该如何替换它?

请帮助我。

xml是这样的:

<header p1:name="blabla">
<body>
<description>hello world !!!</description>
</body>
</header>
<!-- TO-BE -->
<header name="blabla">
<body>
<description>hello world !!!</description>
</body>
</header>

我想将 'p1:' 替换为 space 区域,如 TO-BE。

当您想从 Java 转换 XML 时,我建议使用 XSLT。对于简单的任务,您可以使用 JDK; 附带的 XSLT 1.0 处理器;对于更复杂的任务,您可以下载 XSLT 3.0 实现,例如 Saxon。

但是,XSLT 假定 XML 输入格式正确。您显示的示例不是,因为它使用了尚未声明的命名空间前缀 p1。这表明在处理管道的更深处存在问题,而不是摆脱这个前缀,您或许应该首先考虑它是如何到达那里的:创建错误数据的错误应该在源头修复,而不是稍后修复数据。