stopNodes doesn't work with removeNSPrefix (original) (raw)
- Are you running the latest version?
- Have you included sample input, output, error, and expected output?
- Have you checked if you are using correct configuration?
- Did you try online tool?
Description
stopNodes doesn't work with xml documents that use namespaces when removeNSPrefix is set. This issue is documented by the comment at https://github.com/NaturalIntelligence/fast-xml-parser/blob/v4.2.7/src/xmlparser/OrderedObjParser.js#L308
The stopNodes feature should work with xml that uses namespaces with removeNSPrefix=true.
Input
test 1namespace:fix1
p 1
div 1
Code
const xmlData = `<issue><title>test 1</title><namespace:fix1><p>p 1</p><div class="show">div 1</div></namespace:fix1></issue>`;
const expected = {
"issue": {
"title": "test 1",
"fix1": "<p>p 1</p><div class=\"show\">div 1</div>"
}
};
const options = {
attributeNamePrefix: "",
ignoreAttributes: false,
parseAttributeValue: true,
removeNSPrefix: true,
stopNodes: ["issue.fix1"]
};
const parser = new XMLParser(options);
let result = parser.parse(xmlData);
// console.log(JSON.stringify(result,null,4));
expect(result).toEqual(expected);Output
Error: Unexpected end of fix1
expected data
const expected = {
"issue": {
"title": "test 1",
"fix1": "<p>p 1</p><div class=\"show\">div 1</div>"
}
};Would you like to work on this issue?
- Yes
- No
- Maybe
Bookmark this repository for further updates. Visit SoloThought to know about recent features.