java - xml 错误元素或属性与 QName 生成不匹配:QName::=(NCName':')?NCName

标签 java xml web-services wsdl xsd

这是我的 XML:

正如许多帖子所建议的解决方案,检查了结束标签..也许我仍然错过了一些东西。请帮忙。

这也是 SOAP 请求 XML,我将其作为创建上述 xml 的源:

我为什么要这么做?我需要使用 WSDL 文件中的内联架构来验证请求 XML,因此我提取了内联架构并创建了一个 XSD 文件。现在我需要一个请求 XML 来根据我已经创建的 XSD 文件进行验证。

最佳答案

欢迎来到 Stack Overflow,欢迎使用 XML。

你没有确切地说出问题是什么,但我猜这大概是“这里出了什么问题?”或“这个 XML 有什么问题?”

您显示的数据不是 XML,因为它的格式不正确。考虑字符串 <xmlns:ejb3="http://ejb3.examples.itko.com/"> 。我想这是一个开始标签。

在 XML 中,开始标签以尖括号开头和结尾,其中有一个元素类型名称,后跟零个或多个属性值规范或命名空间声明,彼此之间以及与元素类型名称之间用空格分隔。

如果我们采用字符串 xmlns:ejb3="http://ejb3.examples.itko.com/"作为命名空间声明(事实上,在您所说的复制数据的源中),那么您的问题是您的开始标记没有给出任何元素类型名称。 (第二个问题是数据流末尾的字符串 </xmlns:ejb3> 看起来像是试图成为结束标记,但它使用的是命名空间属性名称,而它需要使用元素类型名称。)

如果另一方面我们取 <xmlns:ejb3作为尖括号后跟元素类型名称,您的问题是 (a) 元素类型名称以保留字符串“xml”开头,这现在是 XML 规范所允许的,并且 (b) 后面跟着元素类型名称不是通过右尖括号或空格和属性值规范,而是通过等号和带引号的字符串——它看起来像是缺少属性名称的碎片属性值规范。

五分钟的 XML 基础知识教程应该可以帮助您避免此类问题。与许多替代方案相比,XML 语法非常简单,但它并不是任何人生来就知道的,而且您的经验表明,如果不花任何时间实际研究它,您就无法从示例中掌握它。

关于java - xml 错误元素或属性与 QName 生成不匹配:QName::=(NCName':')?NCName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22803974/

相关文章:

java - kafka消费者动态检测添加的主题

java - 从 Android 应用程序中的 protected 目录流式传输视频

java继承: distinguish between types of inherited classes

java - 像这个示例一样解析 XML 的好方法?

PHP XML 删除父级

c++ - 如何以优雅的方式转储 XML?

python - 类型错误 : as_view() - Django

java - 如何编写Json Web服务从Java中的数据库表中获取相应的数据

java - 在 Java 中检索 XML 文件的节点列表

c# - 没有 ASP.NET/IIS 的 .NET Web 服务?