[英]xml2js valueProcessor removing \t and \n
我在解析 XML 文件時遇到問題。 我想刪除帶有 \t\n 等字符的字符串。
XML 文件: http://ftp.thinkimmo.com/home/immoanzeigen24/immo.xml
{
trim: true,
normalize: true,
attrValueProcessors: [cleanValue, name => name],
valueProcessors: [cleanValue, name => name]
}
清潔值:
const cleanValue = value => {
return value.toString().trim().replace("\t","atest");
};
我試着用我在網上找到的很多正則表達式來清理它——但值總是如下所示:
"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",
}
這是一個困難的!
我建議遵循一個簡單的策略並在解析 xml 數據之前對其進行預處理。
這至少應該可以解決您的問題。
如果您只是執行以下操作:
function trimXml(xml) {
return xml.replace(/>\s+</g, "><");
}
xml = trimXml(xml);
然后解析修剪后的 xml 數據。 您應該看到 output 現在看起來像這樣:
"verwaltung_objekt": [
{
"objektadresse_freigeben": [
"1"
],
"abdatum": [
"2017-03-01"
],
"min_mietdauer": [
""
],
"max_mietdauer": [
""
]
}
],
這有點像你想要的!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.