looking for simple example to access XML node

M

Mich

I have a small XML document and I need to locate an 'led' node according to
the unique 'skew'. I would really appreciate if someone can point me to an
online example of how to do this.

<catalog>
<led color="Blue" skew='LB1' circumference='5' nm='470' ma='20'
voltage='3.2 ~ 3.8' mcd='6000' angle='10 ~ 20'/>
<led color="Turquoise" skew='LB1' circumference='5' nm='510' ma='20'
voltage='3.2 ~ 3.8' mcd='6000+' angle='25 to 30'/>
<led color="Green" skew='LG1' circumference='5' nm='520' ma='20'
voltage='3.2 ~ 3.6' mcd='5000' angle='10 ~ 20'/>
<led color="Yellow" skew='LY1' circumference='5' nm='585 ~ 595' ma='20'
voltage='1.8 ~ 2.2' mcd='5000' angle='10 ~ 20'/>
<led color="Red" skew='LR1' circumference='5' nm='640 ~ 645' ma='20'
voltage='1.8 ~ 2.2' mcd='8000' angle='10 ~ 20'/>
<led color="Red" skew='LR2' circumference='P4' nm='624' ma='70'
voltage='1.8 ~ 2.2' mcd='4500' angle='80'/>
<led color="Red" skew='LR3' circumference='10' nm='660' ma='20'
voltage='1.8 ~ 2.2' mcd='5000' angle='20'/>
</catalog>
 
?

=?ISO-8859-1?Q?Arne_Vajh=F8j?=

Mich said:
I have a small XML document and I need to locate an 'led' node according to
the unique 'skew'. I would really appreciate if someone can point me to an
online example of how to do this.

<catalog>
<led color="Blue" skew='LB1' circumference='5' nm='470' ma='20'
voltage='3.2 ~ 3.8' mcd='6000' angle='10 ~ 20'/>
<led color="Turquoise" skew='LB1' circumference='5' nm='510' ma='20'
voltage='3.2 ~ 3.8' mcd='6000+' angle='25 to 30'/>
<led color="Green" skew='LG1' circumference='5' nm='520' ma='20'
voltage='3.2 ~ 3.6' mcd='5000' angle='10 ~ 20'/>
<led color="Yellow" skew='LY1' circumference='5' nm='585 ~ 595' ma='20'
voltage='1.8 ~ 2.2' mcd='5000' angle='10 ~ 20'/>
<led color="Red" skew='LR1' circumference='5' nm='640 ~ 645' ma='20'
voltage='1.8 ~ 2.2' mcd='8000' angle='10 ~ 20'/>
<led color="Red" skew='LR2' circumference='P4' nm='624' ma='70'
voltage='1.8 ~ 2.2' mcd='4500' angle='80'/>
<led color="Red" skew='LR3' circumference='10' nm='660' ma='20'
voltage='1.8 ~ 2.2' mcd='5000' angle='20'/>
</catalog>

You can use XPath.

Here are an example illustrating the technique:

package april;

import java.io.File;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.apache.xml.serialize.OutputFormat;
import org.apache.xml.serialize.XMLSerializer;
import org.apache.xpath.XPathAPI;
import org.w3c.dom.Document;
import org.w3c.dom.Element;

public class SelextXPath {
public static void main(String[] args) throws Exception {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(new File("C:\\catalog.xml"));
Element led =
(Element)XPathAPI.selectSingleNode(doc.getDocumentElement(),
"led[@skew='LY1']");
OutputFormat fmt = new OutputFormat();
fmt.setIndenting(true);
XMLSerializer ser = new XMLSerializer(System.out, fmt);
ser.serialize(led);
}
}

Arne
 
M

Mich

Arne Vajhøj said:
Mich said:
I have a small XML document and I need to locate an 'led' node according
to the unique 'skew'. I would really appreciate if someone can point me
to an online example of how to do this.

<catalog>
<led color="Blue" skew='LB1' circumference='5' nm='470' ma='20'
voltage='3.2 ~ 3.8' mcd='6000' angle='10 ~ 20'/>
<led color="Turquoise" skew='LB1' circumference='5' nm='510' ma='20'
voltage='3.2 ~ 3.8' mcd='6000+' angle='25 to 30'/>
<led color="Green" skew='LG1' circumference='5' nm='520' ma='20'
voltage='3.2 ~ 3.6' mcd='5000' angle='10 ~ 20'/>
<led color="Yellow" skew='LY1' circumference='5' nm='585 ~ 595'
ma='20' voltage='1.8 ~ 2.2' mcd='5000' angle='10 ~ 20'/>
<led color="Red" skew='LR1' circumference='5' nm='640 ~ 645' ma='20'
voltage='1.8 ~ 2.2' mcd='8000' angle='10 ~ 20'/>
<led color="Red" skew='LR2' circumference='P4' nm='624' ma='70'
voltage='1.8 ~ 2.2' mcd='4500' angle='80'/>
<led color="Red" skew='LR3' circumference='10' nm='660' ma='20'
voltage='1.8 ~ 2.2' mcd='5000' angle='20'/>
</catalog>

You can use XPath.

Here are an example illustrating the technique:

package april;

import java.io.File;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.apache.xml.serialize.OutputFormat;
import org.apache.xml.serialize.XMLSerializer;
import org.apache.xpath.XPathAPI;
import org.w3c.dom.Document;
import org.w3c.dom.Element;

public class SelextXPath {
public static void main(String[] args) throws Exception {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(new File("C:\\catalog.xml"));
Element led =
(Element)XPathAPI.selectSingleNode(doc.getDocumentElement(),
"led[@skew='LY1']");
OutputFormat fmt = new OutputFormat();
fmt.setIndenting(true);
XMLSerializer ser = new XMLSerializer(System.out, fmt);
ser.serialize(led);
}
}

Arne

Anne, you are wonderful!
 
A

Andrew Thompson

M

Mich

Andrew Thompson said:
Mich said:
I have a small XML document and I need to locate an 'led' node
according
to the unique 'skew'. I would really appreciate if someone can point
me
[quoted text clipped - 50 lines]

Anne, you are wonderful!

Your replies could be wonderful also, if you could..

1) Trim text no longer relevant (like the 50 lines of code).
2) Trim 'sigs.'*.
3) Take care when spelling people's names.

Thank you Adrew. There is so much that I could learn from you.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,051
Latest member
CarleyMcCr

Latest Threads

Top