【问题标题】:XML Parse errorXML 解析错误
【发布时间】:2014-08-02 11:27:57
【问题描述】:

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

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>

【问题讨论】:

  • 这对我来说似乎有点不合理。为什么里面有反斜杠?为什么引用元素名称?如果您尝试解析无效的 XML,您应该期望它无法正确解析...
  • 你仍然遇到同样的错误
  • 我是 xml 新手 ..你能编辑并发送 xml
  • 不 - 你应该阅读 XML。如果我只是添加更正的 XML,那将没有什么好处。这个 XML 是从哪里来的?你是从某个地方复制粘贴的吗?
  • 嗯,在我看来,您就像是从显示转义输出的调试窗口中复制了它。不要那样做。请在您的问题中提供更多详细信息,我们可以帮助您获得正确的 XML。同样,从长远来看,仅靠自己纠正对您没有帮助。

标签: java xml soap zimbra


【解决方案1】:

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

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

2.&lt;'env:Envelope' 周围不应该有单引号,我真的不知道它们来自哪里。

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

【讨论】:

    猜你喜欢
    • 2011-09-11
    • 1970-01-01
    • 1970-01-01
    • 2015-02-18
    • 2017-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多