java - XML 解析错误

标签 java xml soap zimbra

我遇到以下错误,请帮助 “解析错误:

Error on line 1 of document  : 
The markup in the document preceding the root element must be well-formed. 
Nested exception: The markup in the document preceding the root element must be well-formed.

XML 如下

<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<'env:Envelope' xmlns>:env=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:ns1=\"urn:zimbraAdmin\">    
xmlns:ns2=\"urn:zimbraAdmin\"><env:Header><ns2:context/></env:Header><env:Body>    
<ModifyAccountRequest xmlns=\"urn:zimbraAdmin\"><id>4d41ec71-d898-42b8-b522-3c3cdc5583a0</id>
<a n=\"zimbraIsAdminAccount\">TRUE</a>
</ModifyAccountRequest></env:Body></env:Envelope>

最佳答案

这是非常畸形的。问题突出如下:

1. \" 的每个实例应替换为简单的 "因为斜杠表示 Java 的文字字符,并且在普通 XML 中不需要。

2. <'env:Envelope' 周围不应有单引号。老实说,我不知道它们来自哪里。

3. 收盘克拉为 xmlns>:env=应该被删除,物理行 xmlns:ns1=\"urn:zimbraAdmin\"> 末尾的那个也应该被删除。 。删除该克拉会将下一个 namespace 语句(看起来与 ns1 不必要地相同)带入信封标记中。

我不知道是什么导致信封变得如此畸形,但您应该仔细阅读您使用 xmlns 设置的值和变量的用途。和命名空间引用,以便下次您至少了解 XML 请求的所有部分的作用。这将帮助您将来对自己的文档进行故障排除。

与此同时,由于您似乎完全不知所措,因此这里是已更正上述错误的 XML。

<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="urn:zimbraAdmin" xmlns:ns2="urn:zimbraAdmin">
<env:Header>
    <ns2:context/>
</env:Header>
<env:Body>
    <ModifyAccountRequest xmlns="urn:zimbraAdmin">
        <id>4d41ec71-d898-42b8-b522-3c3cdc5583a0</id>
        <a n="zimbraIsAdminAccount">TRUE</a>
    </ModifyAccountRequest>
</env:Body>
</env:Envelope>

关于java - XML 解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25094517/

相关文章:

java - 使用 Java 为 Apache Kafka 0.9 创建主题

Java:JFrame.setLocationRelativeTo(null) 在 Ubuntu 10.04/gnome 2.30.2 和 OpenJDK 1.6.0_18 上不使窗口居中

java - SOAP 请求在 Java 上不起作用,但在 PHP 上起作用

java - shouldoverrideurlloading 的中断函数?

java - 使用 ANT 将参数传递给 java 程序

xml - XPath 和 Jenkins Plot 插件

c++ - 我如何在 saxon/c 中使用已编译的样式表?

c++ - gSOAP:不完整类型的无效使用 'struct SOAP_ENV__Header'

c# - Lumesse Web 服务和 WSSE 纯文本安全问题

java - 即将将(Java)库移植到 Objective-C : Methodology?