我有这个测试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>
答案 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(字节顺序标记)保存