Javascript 无效字符串的XML解析器包

Javascript 无效字符串的XML解析器包,javascript,xml-parsing,Javascript,Xml Parsing,我有一种xml字符串,它是从DYMO打印机API获得的 "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Printers><LabelWriterPrinter><Name>DYMO LabelWriter 450<\/Name><ModelName>DYMO LabelWriter 450<\/ModelName>&l

我有一种xml字符串,它是从DYMO打印机API获得的

"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Printers><LabelWriterPrinter><Name>DYMO LabelWriter 450<\/Name><ModelName>DYMO LabelWriter 450<\/ModelName><IsConnected>False<\/IsConnected><IsLocal>True<\/IsLocal><IsTwinTurbo>False<\/IsTwinTurbo><\/LabelWriterPrinter><\/Printers>\n"
“\nDYMO LabelWriter 450DYMO LabelWriter 450FalseTureFalse\n”
如您所见,其中包括引号、转义()和新行(\n)字符。我检查了一些XML到json的包,但找不到以这种格式解析XML的选项。
我可以使用(substr,replace)方法操纵字符串,但它看起来不那么干净。你知道有什么包裹可以快速处理吗?另外,我想了解这种类型的字符串模板的命名约定是什么?

它是一个包含完全有效的XML的字符串。这没什么特别的。我想您可能会对转义感到困惑,但这就是那些符号在字符串中的表示方式。下面是我在节点中的回复(请观察打印时字符串的外观-所有转义字符都消失了):

const str='\nDYMO LabelWriter 450DYMO LabelWriter 450FalseTrueFalse\n'
console.log(str)
DYMO LabelWriter 450DYMO LabelWriter 450FalseTureFalse
const parseString=require('xml2js')。parseString;
parseString(str,函数(err,res){console.log(JSON.stringify(res,null,2));})
{
“打印机”:{
“LabelWriterPrinter”:[
{
“姓名”:[
“DYMO LabelWriter 450”
],
“型号名称”:[
“DYMO LabelWriter 450”
],
“断开连接”:[
“假”
],
“IsLocal”:[
“对”
],
“IsTwinTurbo”:[
“假”
]
}
]
}
}

转义换行符正是多行字符串的表示方式,因此我不确定您的反应是什么?
const str='<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Printers><LabelWriterPrinter><Name>DYMO LabelWriter 450<\/Name><ModelName>DYMO LabelWriter 450<\/ModelName><IsConnected>False<\/IsConnected><IsLocal>True<\/IsLocal><IsTwinTurbo>False<\/IsTwinTurbo><\/LabelWriterPrinter><\/Printers>\n'
console.log(str)
<?xml version="1.0" encoding="utf-8"?>
<Printers><LabelWriterPrinter><Name>DYMO LabelWriter 450</Name><ModelName>DYMO LabelWriter 450</ModelName><IsConnected>False</IsConnected><IsLocal>True</IsLocal><IsTwinTurbo>False</IsTwinTurbo></LabelWriterPrinter></Printers>

const parseString = require('xml2js').parseString;
parseString(str, function(err, res){ console.log(JSON.stringify(res, null, 2)) ; } )
{
  "Printers": {
    "LabelWriterPrinter": [
      {
        "Name": [
          "DYMO LabelWriter 450"
        ],
        "ModelName": [
          "DYMO LabelWriter 450"
        ],
        "IsConnected": [
          "False"
        ],
        "IsLocal": [
          "True"
        ],
        "IsTwinTurbo": [
          "False"
        ]
      }
    ]
  }
}