2015-11-05 159 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