Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 属性';xsi:noNamespaceSchemaLocation';不允许出现在元素';浩瀚';_Java_Xml_Xsd_Vast - Fatal编程技术网

Java 属性';xsi:noNamespaceSchemaLocation';不允许出现在元素';浩瀚';

Java 属性';xsi:noNamespaceSchemaLocation';不允许出现在元素';浩瀚';,java,xml,xsd,vast,Java,Xml,Xsd,Vast,我有大量的XML,并用大量的2.0.1 xsd验证它。它抛出以下错误:- 属性“xsi:noNamespaceSchemaLocation”不允许出现在元素“VAST”中 我的海量XML:- <VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0" xsi:noNamespaceSchemaLocation="vast.xsd"> <Ad id="11267

我有大量的XML,并用大量的2.0.1 xsd验证它。它抛出以下错误:-

属性“xsi:noNamespaceSchemaLocation”不允许出现在元素“VAST”中

我的海量XML:-

<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      version="2.0" 
      xsi:noNamespaceSchemaLocation="vast.xsd">
  <Ad id="11267375">
    <InLine>
      <AdSystem version="1.0">Sample vast</AdSystem>
      <AdTitle><![CDATA[AD_NFM3122HD.mov]]></AdTitle>
      <Description><![CDATA[<p>&nbsp;</p>]]></Description>
      <Creatives>
        <Creative sequence="1" AdID="" id="11267375">
          <Linear>
            <Duration>00:00:15</Duration>
          </Linear>
        </Creative>
      </Creatives>
    </InLine>
  </Ad>
</VAST>

下面是经过修复的XML,它对我远程引用的vast.xsd是有效的:

<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      version="2.0" 
      xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/chrisdinn/vast/master/lib/vast_2.0.1.xsd">
  <Ad id="11267375">
    <InLine>
      <AdSystem version="1.0">Sample vast</AdSystem>
      <AdTitle><![CDATA[AD_NFM3122HD.mov]]></AdTitle>
      <Description><![CDATA[<p>&nbsp;</p>]]></Description>
      <Survey/>
      <Error/>
      <Impression/>
      <Creatives>
        <Creative sequence="1" AdID="" id="11267375">
          <Linear>
            <Duration>00:00:15</Duration>
          </Linear>
        </Creative>
      </Creatives>
    </InLine>
  </Ad>
</VAST>
但是如果您希望使用
xsi:noNamespaceSchemaLocation
,请尝试删除XSD位置的基于Java的规范:

Schema schema = schemaFactory.newSchema();

这件事曾经发生在我身上,因为

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
第一部分编写了
http//
而不是
http://
。这表明当验证器找不到我所引用的名称空间,因此无法验证xsi:noNamespaceSchemaLocation属性(因为它也在xsi中)时引发了错误

如果名称空间url是正确的(并且在xml中看起来确实正确),则可能表明它是找不到的版本


我可能会删除version属性(我不知道是否有版本2.0),确认版本号正确,或者在这种情况下尽可能使用xsi:version进行尝试。

我仍然收到与上述XML相同的错误。我正在运行java“1.8.0_72”。我的问题与此有关。但我还没有尝试过Java1.5或低于1.8的版本。如果这不起作用,我们需要看医生。谢谢
Schema schema = schemaFactory.newSchema();
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"