prolog DOM中不允许使用XML内容

时间:2013-03-28 13:29:56

标签: php xml dom domdocument

我有这个测试xml文件。我将其上传到亚马逊网络服务,其响应是: prolog DOM中不允许使用XML内容。

我在十六进制编辑器中搜索过,之前没有空格,没有。有人能帮助我吗?

 <?xml version="1.0" encoding="UTF-8"?>
    <AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amznenvelope.xsd">
      <Header>
        <DocumentVersion>1.01</DocumentVersion>
        <MerchantIdentifier>A3VK0G8OPY5KRQ</MerchantIdentifier>
        <MessageType>Price</MessageType>
        <Message>
          <MessageID>1</MessageID>
          <Price>
            <SKU>459</SKU>
            <StandardPrice currency="USD">34.5</StandardPrice>
          </Price>
        </Message>
        <Message>
          <MessageID>2</MessageID>
          <Price>
            <SKU>718</SKU>
            <StandardPrice currency="USD">95</StandardPrice>
          </Price>
        </Message>
        <Message>
          <MessageID>3</MessageID>
          <Price>
            <SKU>1007</SKU>
            <StandardPrice currency="USD">63.25</StandardPrice>
          </Price>
        </Message>
        <Message>
          <MessageID>4</MessageID>
          <Price>
            <SKU>3200</SKU>
            <StandardPrice currency="USD">258.75</StandardPrice>
          </Price>
        </Message>
        <Message>
          <MessageID>5</MessageID>
          <Price>
            <SKU>3800</SKU>
            <StandardPrice currency="USD">166.75</StandardPrice>
          </Price>
        </Message>
      </Header>
    </AmazonEnvelope>

2 个答案:

答案 0 :(得分:0)

此错误消息始终由begin元素中的无效XML内容引起。例如,XML元素开头的额外小点“。”。

“之前的任何字符”

“...之前的小点”。“

.<?xml version="1.0"?>
<company>
    <staff>
        <firstname>yong</firstname>
        <lastname>mook kim</lastname>
        <nickname>mkyong</nickname>
        <salary>100000</salary>
    </staff>
    <staff>
        <firstname>low</firstname>
        <lastname>yin fong</lastname>
        <nickname>fong fong</nickname>
        <salary>200000</salary>
    </staff>
</company>

要修复它,只需在开始时删除所有这些奇怪的字符。

答案 1 :(得分:0)

查看代码编辑器中的保存选项。

文件可以保存为utf-8。文件编辑器可以选择保存在&#34; utf-8&#34;或&#34; utf-8没有BOM&#34;更改为第二个选项对我来说...并删除了之前的内容

我猜你用PHP脚本生成这个文件,确保所有包含文件也没有BOM(字节顺序标记)保存