Javascript 从一个文件中读取XML和JS

Javascript 从一个文件中读取XML和JS,javascript,node.js,xml,Javascript,Node.js,Xml,我有这样一个文件: <note type="mail" status="created"> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> { name: 'Mail', mess

我有这样一个文件:

<note type="mail" status="created">
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

{
  name: 'Mail',
  messageType: 'Reminder',
  getFullTitle() {
    return 'Reminder ' + Date.now();
  }
}
{
  xml: <xml here>,
  js: {
    name: 'Mail',
    messageType: 'Reminder',
    getFullTitle() {
      return 'Reminder ' + Date.now();
    }
  }
}

托弗
贾尼
提醒
这个周末别忘了我!
{
姓名:'邮件',
消息类型:“提醒”,
getFullTitle(){
返回“提醒”+日期.now();
}
}
我需要使用Node.js解析此文件,并获得单独的XML和js对象,如下所示:

<note type="mail" status="created">
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

{
  name: 'Mail',
  messageType: 'Reminder',
  getFullTitle() {
    return 'Reminder ' + Date.now();
  }
}
{
  xml: <xml here>,
  js: {
    name: 'Mail',
    messageType: 'Reminder',
    getFullTitle() {
      return 'Reminder ' + Date.now();
    }
  }
}
{
xml:,
js:{
姓名:'邮件',
消息类型:“提醒”,
getFullTitle(){
返回“提醒”+日期.now();
}
}
}

做这件事的最佳方法是什么?

不容易,因为XML解析器在碰到结束标记后的“{”时会抛出错误,并且没有好的方法告诉它在哪里停止解析


试着说服以这种形式提供数据的人,他们给数据的接收者带来了不必要的负担。标准是好的:XML是好的,JSON是好的,把它们像这样混在一起是坏的。

假设文件不太大,空换行符总是在那里,我会用fs将整个内容读入字符串中api节点提供,然后拆分为空行(双线分隔应该可以工作,但在其他情况下,关于如何执行此部分的stackoverflow的示例很多)。然后可以对[1]进行JSON.parse并将[1].xml设置为[0]。我只是想在这里提出一个想法,使用流解析器,在出现错误时,标记位置并拆分。我不确定这是否可行。只是一个想法。XML解析器可能不会一次读取一个字节的流;XML解析器抛出抖动时,流的位置将比XML的实际结尾提前任意距离。