[英]xml2js valueProcessor removing \t and \n
I have a problem with parsing an XML file.我在解析 XML 文件时遇到问题。 I want to remove strings with characters like \t\n.
我想删除带有 \t\n 等字符的字符串。
XML File: http://ftp.thinkimmo.com/home/immoanzeigen24/immo.xml XML 文件: http://ftp.thinkimmo.com/home/immoanzeigen24/immo.xml
{
trim: true,
normalize: true,
attrValueProcessors: [cleanValue, name => name],
valueProcessors: [cleanValue, name => name]
}
cleanValue:清洁值:
const cleanValue = value => {
return value.toString().trim().replace("\t","atest");
};
I tried cleaning it with a lot of regex I've found online - but value always stays like following:我试着用我在网上找到的很多正则表达式来清理它——但值总是如下所示:
"verwaltung_objekt": {
"objektadresse_freigeben": "0",
"verfuegbar_ab": "nachaasjkdhkjshadjkashdAbsprache",
"bisdatum": "2016-01-15",
"min_mietdauer": "\n\t\t\t\t",
"max_mietdauer": "\n\t\t\t\t",
}
This is a difficult one!这是一个困难的!
I'd suggest following a simple strategy and pre-processing the xml data before you parse it.我建议遵循一个简单的策略并在解析 xml 数据之前对其进行预处理。
This should resolve your issue at least.这至少应该可以解决您的问题。
If you just do something like:如果您只是执行以下操作:
function trimXml(xml) {
return xml.replace(/>\s+</g, "><");
}
xml = trimXml(xml);
Then parse the trimmed xml data.然后解析修剪后的 xml 数据。 You should see the output now looks like so:
您应该看到 output 现在看起来像这样:
"verwaltung_objekt": [
{
"objektadresse_freigeben": [
"1"
],
"abdatum": [
"2017-03-01"
],
"min_mietdauer": [
""
],
"max_mietdauer": [
""
]
}
],
Which is a bit more like what you want!这有点像你想要的!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.