XML解析错误

时间:2014-08-02 11:27:58

标签: 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 个答案:

答案 0 :(得分:1)

那是非常畸形的。问题如下:

1。 \"的每个实例都应该用简单的"替换,因为斜杠表示Java的文字字符,而普通的XML则不需要。

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

3。应删除xmlns>:env=处的结束克拉,以及物理行xmlns:ns1=\"urn:zimbraAdmin\">末尾的结束克拉。删除该克拉会将下一个命名空间语句(似乎与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>