469,889 Members | 1,234 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,889 developers. It's quick & easy.

help with extracting nodes and their children as text

I'm loading an xml data file and then trying to take a particular node
and add it, as html, to an element on my page using inner HTML. The
xml is like what is below, with the ... representing eliminated
detail:

<?xml version="1.0" encoding="iso-8859-1"?>
<table>
<descriptions>
<fielddesc id="1">
...
</fielddesc>
...
</descriptions>
<recordset>
<record id="1">
<field id="1">1</field>
<field id="2">Hydrogen</field>
<field id="3">H</field>
<field id="4">[not applicable]</field>
<field id="5">[not applicable]</field>
<field id="6">[not applicable]</field>
<field id="7">1s<sup>1</sup></field>
</record>
...
</recordset>
</table>

The problem comes with id 7 above. I want to get everything that is
contained in that field and use it in my page so that the <sup> html
tag is used. Here are some things I've tried:

recordset = table.getElementsByTagName('recordset')[0].getElementsByTagName('record');
valueIwant = recordset[1].getElementsByTagName('field')[7].firstChild.data;
(This only gets everything up to the <sip> tag)

recordset = table.getElementsByTagName('recordset')[0].getElementsByTagName('record');
valueIwant = recordset[1].getElementsByTagName('field')[7].text;
(This only works on IE and it doesn't format the contents in the <sup>
tag)

Anybody have some suggestions on how to do what I want?

Thanks,
Rob
Jul 20 '05 #1
4 1176
Am I missing something? You write: valueIwant = recordset[1] ...
('field')[7] ...

Shouldn't that be recordset[0] and ...('field')[6] ?

recordset =
table.getElementsByTagName('recordset')[0].getElementsByTagName('record');
valueIwant = recordset[1].getElementsByTagName('field')[7].firstChild.data; (This only gets everything up to the <sip> tag)

recordset = table.getElementsByTagName('recordset')[0].getElementsByTagName('record'); valueIwant = recordset[1].getElementsByTagName('field')[7].text;
(This only works on IE and it doesn't format the contents in the <sup>
tag)


Jul 20 '05 #2


Robert Fentress wrote:
I'm loading an xml data file and then trying to take a particular node
and add it, as html, to an element on my page using inner HTML. The
xml is like what is below, with the ... representing eliminated
detail:

<?xml version="1.0" encoding="iso-8859-1"?>
<table>
<descriptions>
<fielddesc id="1">
...
</fielddesc>
...
</descriptions>
<recordset>
<record id="1">
<field id="1">1</field>
<field id="2">Hydrogen</field>
<field id="3">H</field>
<field id="4">[not applicable]</field>
<field id="5">[not applicable]</field>
<field id="6">[not applicable]</field>
<field id="7">1s<sup>1</sup></field>
</record>
...
</recordset>
</table>

The problem comes with id 7 above. I want to get everything that is
contained in that field and use it in my page so that the <sup> html
tag is used. Here are some things I've tried:

recordset = table.getElementsByTagName('recordset')[0].getElementsByTagName('record');
valueIwant = recordset[1].getElementsByTagName('field')[7].firstChild.data;
(This only gets everything up to the <sip> tag)

recordset = table.getElementsByTagName('recordset')[0].getElementsByTagName('record');
valueIwant = recordset[1].getElementsByTagName('field')[7].text;
(This only works on IE and it doesn't format the contents in the <sup>
tag)

Anybody have some suggestions on how to do what I want?


Well, an XML element with tagname sup is not an HTML element, if you
target XHTML you would need
<sup xmlns="http://www.w3.org/1999/xhtml">...</sup>
that way a browser like Mozilla would allow you to import that node from
the XML document into an XHTML document:
http://home.arcor.de/martin.honnen/j...20040206.xhtml

IE however doesn't understand XHTML and doesn't support importNode so
there you are better off trying to insert some snippet of markup using
insertAdjacentHTML or innerHTML. XSLT transformations might be a way
with IE to create that snippet of HTML markup from your XML.
--

Martin Honnen
http://JavaScript.FAQTs.com/

Jul 20 '05 #3
Antenna <q1****************@hotmail.com> wrote in message news:<c0**********@news.worldonline.be>...
Am I missing something? You write: valueIwant = recordset[1] ...
('field')[7] ...

Shouldn't that be recordset[0] and ...('field')[6] ?


Yes. I realized that after I sent it. Doesn't affect the issue though.

Rob
Jul 20 '05 #4
Martin Honnen <ma*******@yahoo.de> wrote in message news:<40********@olaf.komtel.net>...
Well, an XML element with tagname sup is not an HTML element, if you
target XHTML you would need
<sup xmlns="http://www.w3.org/1999/xhtml">...</sup>
that way a browser like Mozilla would allow you to import that node from
the XML document into an XHTML document:
http://home.arcor.de/martin.honnen/j...20040206.xhtml

IE however doesn't understand XHTML and doesn't support importNode so
there you are better off trying to insert some snippet of markup using
insertAdjacentHTML or innerHTML. XSLT transformations might be a way
with IE to create that snippet of HTML markup from your XML.


Thanks for your help Martin. I'll try to do some research on XSLT so
I can get it to work on IE too.

Rob
Jul 20 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

2 posts views Thread by csx | last post: by
8 posts views Thread by Xamle Eng | last post: by
6 posts views Thread by Nikhil Patel | last post: by
2 posts views Thread by AGB | last post: by
2 posts views Thread by Kristopher Wragg | last post: by
4 posts views Thread by reflex | last post: by
8 posts views Thread by nicolas.edel | last post: by
1 post views Thread by Waqarahmed | last post: by
reply views Thread by Salome Sato | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.