f



looking for simple example to access XML node

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> 


0
Mich
4/8/2007 4:14:02 PM
comp.lang.java.programmer 52714 articles. 1 followers. Post Follow

6 Replies
318 Views

Similar Articles

[PageSpeed] 40

Mich wrote:
> 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
0
ISO
4/8/2007 4:35:25 PM
"Arne Vajh�j" <arne@vajhoej.dk> wrote in message 
news:461919b4$0$90270$14726298@news.sunsite.dk...
> Mich wrote:
>> 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! 


0
Mich
4/8/2007 5:23:44 PM
>> Arne>> Anne, you are wonderful!Sorry, I spelled your name wrong :( 
0
Mich
4/8/2007 5:55:13 PM
Mich wrote:>>> 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]>>>> Arne>>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.(* Sig. deliberately left in, on this occasion)-- Andrew Thompsonhttp://www.athompson.info/andrew/Message posted via JavaKB.comhttp://www.javakb.com/Uwe/Forums.aspx/java-general/200704/1
0
Andrew
4/8/2007 5:58:49 PM
"Andrew Thompson" <u32984@uwe> wrote in message news:70681c25f723c@uwe...> Mich wrote:>>>> 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]>>>>>> Arne>>>>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. 
0
Mich
4/8/2007 7:45:25 PM
"Mich" <comat@videotron.com> writes:> "Andrew Thompson" <u32984@uwe> wrote in message news:70681c25f723c@uwe...>>> 3) Take care when spelling people's names.>> Thank you Adrew.Irony, thy name is Mich.sherm---- Web Hosting by West Virginians, for West Virginians: http://wv-www.netCocoa programming in Perl: http://camelbones.sourceforge.net
0
Sherm
4/8/2007 7:53:10 PM
Reply: