Comments (3)
Sorry @jncr. Now I remember why I did not support this kind of input. Although input like
const js = {name: 'Yousuf'}
is simpler than:
const js = {name: {_text: 'Yousuf'}}
which both can be parsed into xml as:
<name>Yousuf</name>
But the problem occurs when there is some attributes with the node. Say we want the output xml to be:
<name title="Mr">Yousuf</name>
We cannot use your syntax to support this. But we can use this syntax to support this requirement:
const js = {name: {_attributes: {title: 'Mr'}, _text: 'Yousuf'}}
To further illustrate why _text
is crucial, consider the following example:
const js = {name: {_attributes: {title: 'Mr'}, _text: 'Yousuf', rating: {_text: 'good'}}}
which will generate following xml:
<name title="Mr">
Yousuf
<rating>good</rating>
</name>
I don't think this can be represented by your js object syntax.
from xml-js.
@jncr
I have supported in v1.5.1
converting js object {a: 'hi'}
(rather than {a: {_text: 'hi'}}
) to <a>hi</a>
.
See also release notes.
from xml-js.
@jncr ,
First of all, your js object is illegal. The numbers
object has two properties of same name, number
.
Secondly, the js object is missing _text
property.
The correct js object should be:
const js = {
request: {
user: {
_text: 'username'
},
pass: {
_text: 'password'
},
numbers: {
number: [
{
_text: 1
},
{
_text: 2
}
]
}
}
};
Lastly, you need to pass compact: true
option to tell the parser that the input is in compact form:
const xml = convert.js2xml(js, {compact: true});
However, your sample input is simpler and I like it. I will try to add support to this kind of input so the parser can accept the following (note the usage of array in number
to work around javascript object restriction):
const js = {
request: {
user: 'username',
pass: 'password',
numbers: {
number: [1, 2]
}
}
}
}
from xml-js.
Related Issues (20)
- Wrong Handling of Whitespaces & Line breaks HOT 1
- "'" being changed to single quote HOT 2
- How to traverse through every tag
- `attributeNameFn` callback receives an undefined attributeValue
- CRLF line endings cause scripts failures HOT 1
- _attributes gets added to _attributes?
- Empty String of nativeTypeAttributes converted zero HOT 3
- Removing all _cdata _attributes text
- XML-JS Empty xml files being made after conversion from .json file HOT 1
- Typescript: `_comment` does not accept string[]
- attributes escape character?
- Consider type "string" as a default for all the values
- Analysis: 100% of dependency updates in this repository can be merged. HOT 1
- XML > JSON: How do I 'intercept' processing of a specific node?
- JSON -> XML convert with CDATA support
- json to xml: Auto convert < to <
- return parsed object instead of string ? HOT 1
- No nativeTypeAttributes in index.d.ts
- Assignment I was given,kindly give me both the XML code to build the app interface and the java code to execute it
- Module not found: Error: Can't resolve 'buffer'
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xml-js.