2015-11-05 162 views
1
<?xml version="1.0"?> 
<Audio sfxVol="255" musicVol="255" /> 
<Video resolution="1280x960" screenMode="Windowed" antiAlias="0" /> 
<Input devType="keyboard"> 
    <KeyBinding ID="up" keyCode="82" keyMod="0" /> 
    <KeyBinding ID="down" keyCode="81" keyMod="0" /> 
    <KeyBinding ID="left" keyCode="80" keyMod="0" /> 
    <KeyBinding ID="right" keyCode="79" keyMod="0" /> 
    <KeyBinding ID="enter" keyCode="88" keyMod="0" /> 
</Input> 

当我尝试解析它时,总是会收到“文档元素后发现的垃圾”错误。这个XML文件有什么问题?

+0

标记任意答案为正确的,如果你已经解决了吧:) –

回答

1

尝试将其全部封装在一个元素中。

<?xml version="1.0"?> 
<Data> 
    [your stuff goes here] 
</Data> 
4

XML文档需要单个根元素。包含所有其他元素的元素。

文档中的第一个开始标签是<Audio>。它是一个自我关闭的标签,因此它会自我关闭。这是文件的结尾。

1

当我尝试解析它时,总是会收到“文档元素后发现的垃圾”错误。

是的,当然是因为它没有root (parent) element。请参阅xml_tree_structure

树结构包含根(父)元素,子元素等。

因此,在你的代码应该是作为在这种情况下,root (parent) element一个项目我会把Audioroot我不知道这是否会打乱你想到的东西,所以你的代码应该是像这样:

<?xml version="1.0"?> 
<Audio sfxVol="255" musicVol="255"> 
<Video resolution="1280x960" screenMode="Windowed" antiAlias="0" /> 
<Input devType="keyboard"> 
    <KeyBinding ID="up" keyCode="82" keyMod="0" /> 
    <KeyBinding ID="down" keyCode="81" keyMod="0" /> 
    <KeyBinding ID="left" keyCode="80" keyMod="0" /> 
    <KeyBinding ID="right" keyCode="79" keyMod="0" /> 
    <KeyBinding ID="enter" keyCode="88" keyMod="0" /> 
</Input> 
</Audio> 
+1

嗯,为什么downvote? –

+1

我没有这样做,但我猜想,因为在这种情况下,你把视频里面的音频,哪些......谁知道......也许很好,但可能从数据上下文气味 –

+1

@GradyPlayer现在好了,我已经编辑了我的答案,试图稍微解释一下 –

0

XML文件必须有一个根 element.It是一个规则。

<?xml version="1.0"?> 
<root> 
<Audio sfxVol="255" musicVol="255" /> 
<Video resolution="1280x960" screenMode="Windowed" antiAlias="0" /> 
<Input devType="keyboard"> 
    <KeyBinding ID="up" keyCode="82" keyMod="0" /> 
    <KeyBinding ID="down" keyCode="81" keyMod="0" /> 
    <KeyBinding ID="left" keyCode="80" keyMod="0" /> 
    <KeyBinding ID="right" keyCode="79" keyMod="0" /> 
    <KeyBinding ID="enter" keyCode="88" keyMod="0" /> 
</Input> 
</root> 

check this link to learn xml rules