我有一个 XML(来自 Web 服务调用 - 下面提供),它是一个无效的 XML 文档,因为它不包含xsi
架构命名空间的命名空间前缀的必需声明。
它不声明模式命名空间 -xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
但在 xml 中使用相同的命名空间。
示例节点是 -<messages xsi:nil="true" />
等<value4 xsi:nil="true" />
。
因此,我无法在 XML 上使用 XSLT 转换,并且我的应用程序失败并出现错误
与元素类型“messages”关联的属性“xsi:nil”的前缀“xsi”未绑定。”。
我所有的测试 XSLT 也给出了同样的错误。有没有办法应用一个/任何 XSLT 来删除所有引用的元素xsi
?删除它们将使其成为适合其他人使用的有效 XML。
从 Web 服务返回的 XML:
<?xml version="1.0" encoding="utf-8"?>
<p849:retrieveAllValues xmlns:p849="http://package.de.bc.a">
<retrieveAllValues>
<messages xsi:nil="true" />
<existingValues>
<Values>
<value1> 10.00</value1>
<value2>123456</value2>
<value3>1234</value3>
<value4 xsi:nil="true" />
<value5 />
</Values>
</existingValues>
<otherValues xsi:nil="true" />
<recValues xsi:nil="true" />
</retrieveAllValues>
</p849:retrieveAllValues>