Closed candrews closed 1 year ago
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
stopNodes
removeNSPrefix
The stopNodes feature should work with xml that uses namespaces with removeNSPrefix=true.
removeNSPrefix=true
<issue><title>test 1</title><namespace:fix1><p>p 1</p><div class="show">div 1</div></namespace:fix1></issue>
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);
Error: Unexpected end of fix1
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?
Bookmark this repository for further updates. Visit SoloThought to know about recent features.
We're glad you find this project helpful. We'll try to address this issue ASAP. You can vist https://solothought.com to know recent features. Don't forget to star this repo.
Fixed in v4.3.0
Description
stopNodes
doesn't work with xml documents that use namespaces whenremoveNSPrefix
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#L308The
stopNodes
feature should work with xml that uses namespaces withremoveNSPrefix=true
.Input
Code
Output
expected data
Would you like to work on this issue?
Bookmark this repository for further updates. Visit SoloThought to know about recent features.