XML验证错误
我正在尝试验证以下XML,但我无法验证,您能发现错误吗XML验证错误,xml,validation,Xml,Validation,我正在尝试验证以下XML,但我无法验证,您能发现错误吗 <!-- menu: its a menu --> <menu id="Welcome"> <!--audio: file to play --> <audio src="D:\Telephony\VOXs\Welcome.vox" /> </menu> <!-- form: its a menu --> <menu id="LanguageSe
<!-- menu: its a menu -->
<menu id="Welcome">
<!--audio: file to play -->
<audio src="D:\Telephony\VOXs\Welcome.vox" />
</menu>
<!-- form: its a menu -->
<menu id="LanguageSelection">
<audio src="D:\Telephony\VOXs\LanguageSelection.vox" />
<input timeout="5" max_timeout="2" max_invalid_input="2" valid_dtmfs="1, 2">
<!-- noinput: if timeout occurred, execute this -->
<noinput>
<audio src="D:\Telephony\VOXs\Timeout.vox" />
</noinput>
<!-- nomatch: if wrong dtmf given, following will execute -->
<nomatch>
<audio src="D:\Telephony\VOXs\InvalidInput.vox" />
</nomatch>
<switch>
<dtmf-1>
<audio src="D:\Telephony\VOXs\EnglishSelected.vox" />
</dtmf-1>
<dtmf-2>
<audio src="D:\Telephony\VOXs\UrduSelected.vox" />
</dtmf-2>
</switch>
</input>
</menu>
<menu id="MainMenu">
<audio src="D:\Telephony\VOXs\MainMenu.vox" />
<input timeout="5" max_timeout="2" max_invalid_input="2" valid_dtmfs="1, 2">
<!-- noinput: if timeout occurred, execute this -->
<noinput>
<audio src="D:\Telephony\VOXs\Timeout.vox" />
</noinput>
<!-- nomatch: if wrong dtmf given, following will execute -->
<nomatch>
<audio src="D:\Telephony\VOXs\InvalidInput.vox"/>
</nomatch>
<switch>
<dtmf-1>
<goto menu="InformationMenu" />
</dtmf-1>
<dtmf-2>
<goto menu="SupportMenu" />
</dtmf-2>
</switch>
</input>
</menu>
错误:根元素后面的文档中的标记必须格式正确
错误位置:您有多个顶级元素
尝试以下方法。我添加了
作为顶级元素,并在最后关闭了它
<MenuItems>
<!-- menu: its a menu -->
<menu id="Welcome">
<!--audio: file to play -->
<audio src="D:\Telephony\VOXs\Welcome.vox" />
</menu>
<!-- form: its a menu -->
<menu id="LanguageSelection">
<audio src="D:\Telephony\VOXs\LanguageSelection.vox" />
<input timeout="5" max_timeout="2" max_invalid_input="2" valid_dtmfs="1, 2">
<!-- noinput: if timeout occurred, execute this -->
<noinput>
<audio src="D:\Telephony\VOXs\Timeout.vox" />
</noinput>
<!-- nomatch: if wrong dtmf given, following will execute -->
<nomatch>
<audio src="D:\Telephony\VOXs\InvalidInput.vox" />
</nomatch>
<switch>
<dtmf-1>
<audio src="D:\Telephony\VOXs\EnglishSelected.vox" />
</dtmf-1>
<dtmf-2>
<audio src="D:\Telephony\VOXs\UrduSelected.vox" />
</dtmf-2>
</switch>
</input>
</menu>
<menu id="MainMenu">
<audio src="D:\Telephony\VOXs\MainMenu.vox" />
<input timeout="5" max_timeout="2" max_invalid_input="2" valid_dtmfs="1, 2">
<!-- noinput: if timeout occurred, execute this -->
<noinput>
<audio src="D:\Telephony\VOXs\Timeout.vox" />
</noinput>
<!-- nomatch: if wrong dtmf given, following will execute -->
<nomatch>
<audio src="D:\Telephony\VOXs\InvalidInput.vox"/>
</nomatch>
<switch>
<dtmf-1>
<goto menu="InformationMenu" />
</dtmf-1>
<dtmf-2>
<goto menu="SupportMenu" />
</dtmf-2>
</switch>
</input>
</menu>
</MenuItems>
您可以通过在ie中打开您的xml快速检查它。当我打开您的xml时,这就是我得到的
Only one top level element is allowed in an XML document. Error processing resource 'file://Users/shoban/...
<menu id="LanguageSelection">
-^
XML文档中只允许有一个顶级元素。处理资源“”时出错file://Users/shoban/...
-^
您需要一个根级别的元素。例如,将菜单元素包装在
标记内
<menus>
<menu>
</menu>
<menu>
</menu>
</menus>
总结:
XML规范定义了一个XML
作为文本的文档
格式良好,即满足列表
中提供的语法规则
规范。这张单子相当不错
冗长的;一些要点是:
它只包含正确编码的
合法的Unicode字符
没有任何特殊语法
诸如“之类的字符问题的根本原因是xml文档每个文件有多个根元素
在您的特殊情况下,您的文档的基本结构是:
<menu></menu>
<menu></menu>
<menu></menu>
这就是在文档中定义3个根元素
为了定义单个元素,您需要用单个根元素围绕这三个元素,如下所示:
<menus>
<menu></menu>
<menu></menu>
<menu></menu>
</menus>
你可以在这里找到更多信息