使用动态创建的XML和XML文件进行响应的区别

使用动态创建的XML和XML文件进行响应的区别,xml,node.js,vast,Xml,Node.js,Vast,因此,在过去的几天里,我一直在绞尽脑汁解决一个问题: 我有一个nodeJS应用程序,可以执行以下操作: var VAST = require('vast-xml'); var vast = new VAST(); vast.version = "2.0"; var ad=vast.attachAd({ id : 1 , structure : 'wrapper' , sequence : 99 , Error: 'http://error.err'

因此,在过去的几天里,我一直在绞尽脑汁解决一个问题:

我有一个nodeJS应用程序,可以执行以下操作:

var VAST = require('vast-xml');
var vast = new VAST();

vast.version = "2.0";

var ad=vast.attachAd({
      id : 1
    , structure : 'wrapper'
    , sequence : 99
    , Error: 'http://error.err'
    , VASTAdTagURI : 'http://demo.tremormedia.com/proddev/vast/vast_inline_linear.xml'
    , AdTitle : 'Common name of the ad'
    , AdSystem : { name: 'Test Ad Server', version : '1.0' }
  });

  response.setHeader('Content-Length', Buffer.byteLength(vast.xml()));
  response.setHeader('Connection', 'close');

  response.writeHead( 200, {'content-type': 'text/xml; charset=UTF-8'} );

  response.end(vast.xml());
以下是调用上述代码的URL: 返回的XML为:

<VAST version="2.0">
<Ad id="1" sequence="99">
  <Wrapper>
  <AdSystem version="1.0">Test Ad Server</AdSystem>
  <VASTAdTagURI>
    <![CDATA[http://demo.tremormedia.com/proddev/vast/vast_inline_linear.xml ]]>
  </VASTAdTagURI>
  <Error>
     <![CDATA[http://error.err ]]>
  </Error>
  <Creatives />
  </Wrapper>
  </Ad>
</VAST>

问题是:

我使用这个巨大的验证器来确保XML是有效的:

只需将第一个URL或第二个URL粘贴到WAST tag文本框中,然后单击“测试广告”按钮

在视频播放器下面,有一个日志控制台。 在日志中,您可以看到,对于第一个链接,它返回一个错误,对于第二个链接,它工作正常


我无法准确指出动态提供XML与提供XML文件之间的区别。

Validator给出了一个网络错误,并且XML在VASTAdTagURI节点中包含一个引号:


没有进行详细测试,但希望这是一个很好的提示:-)

除非您在发布此问题后进行了更改,否则动态服务文件和静态文件是非常不同的。让他们发送相同的XML将是一个很好的开始。