Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't create text node for self closing tags when alwaysCreateTextNode: true #708

Open
hornta opened this issue Feb 13, 2025 · 1 comment

Comments

@hornta
Copy link

hornta commented Feb 13, 2025

Currently I can have the parser create a text node on tags without attributes by setting alwaysCreateTextNode: true. However, for self closing tags, I would like the parser to not create a text node. Right now it creates a text node set to an empty string.

I also noticed that if a self closing tags have any attributes, a text node is not created. It only seems like it's created when a self closing tags have no attributes.

// Given these settings:
const parser = new XMLParser({
	ignoreAttributes: false,
	allowBooleanAttributes: true,
	parseTagValue: false,
	alwaysCreateTextNode: true,
});

parser.parse("<workbookPr defaultThemeVersion="153222" />") 
// "workbookPr": {
//   "@_defaultThemeVersion": "153222"
// }

parser.parse("<workbookPr />") 
// "workbookPr": {
//   "#text": ""
// }

I expect that "#text" is always present, no matter if the self closing tag have attributes or not. But my primary expectation is to be able to have no text nodes at all for self closing tags while still allowing the parser to make text nodes for tags without any attributes.

Copy link

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.

@hornta hornta changed the title Can I create a text node if the tag is not self closing? Creating text nodes for tags without any attributes. Feb 13, 2025
@hornta hornta changed the title Creating text nodes for tags without any attributes. Don't create text node for self closing tags when alwaysCreateTextNode: true Feb 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant