繁体   English   中英

这个XML档案怎么了?

[英]What's wrong with this XML file?

<?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文档只需要一个根元素。 包含所有其他元素的元素。

文档中的第一个开始标签是<Audio> 这是一个自动关闭的标签,因此可以自行关闭。 到此结束。

尝试将所有内容包装在一个元素中。

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

当我尝试解析它时,总是出现“在文档元素之后发现垃圾”错误。

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

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

因此,在这种情况下,您的代码中应该有一个充当root (parent) element的项目, 我会将Audio作为root 不知道它是否会破坏您的期望值,因此您的代码应如下所示:

<?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>

XML文件必须具有根元素。这是一条规则。

<?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>

检查此链接以了解xml规则

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM