Comments (3)
Unit test for the issue:
var vows = require('vows');
var assert = require('assert');
var DOMParser = require('xmldom').DOMParser;
vows.describe('Issue 83').addBatch({
'issue-83': function () {
var doc = (new DOMParser()).parseFromString('<?xml version="1.0"?><a/>', "text/xml");
assert.equal(doc.firstChild.tagName, "a");
}
}).run();
from xmldom.
it is a xml source parse .
so xml processor is a node also.
from xmldom.
I recently ran into this issue myself with an upstream dependency on xmldom. I just wanted to clarify what's going on for anyone who comes looking, because it took me a while to get it straight.
The XML DOM Level 2 standard specifies that, far from simply containing a single Element node, a Document node may have 4 different types of children: an Element node (once), a DocumentType node (once), (potentially multiple) ProcessingInstruction nodes, and (potentially multiple) Comment nodes, all in no particular order. Using document.firstChild may get any of these. The appropriate method of accessing the root element in the document is document.documentElement.
This also means that PR #84 does not go far enough to achieve its desired behavior: you'd need to skip Comment and DocumentType nodes too.
from xmldom.
Related Issues (20)
- No errors reported for missing XML entities with periods HOT 1
- parsing > back and forth HOT 1
- Is this project even active anymore? HOT 2
- Namespace propagation is not correct on serialization HOT 4
- License Info HOT 6
- Out of memory error while parsing large string HOT 1
- Could I get it without require ? HOT 1
- Repo Dead - Alternatives
- Wrong format after InsertBefore
- FYI: This project has been hard forked HOT 1
- doctype returns null
- parseFromString() ignore all the content before first <br/>
- Non existent 'java' attempted to be used in xmldom.
- License tests and copyright notice missing
- How to find the nodes within a file
- Correct encode text
- invalid attribute::model HOT 5
- Update the README to point to the fork????? HOT 1
- serializer options HOT 2
- Great code HOT 3
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 xmldom.