Reputation: 315
I just want to read a specific node "MessageEvent" in the Dom object where doc is a Dom Object already generated. Any ideas? thanks.
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = factory.newDocumentBuilder();
doc = dBuilder.parse(xmlFile);
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("MessageEvent");
This is the XML:
<MessageEvent>
<Message.Event.MaximumSeverity.Code>Information</Message.Event.MaximumSeverity.Code>
<MessageEventItems>
<MessageEventItem>
<Message.Event.Item.Error.Code>OK</Message.Event.Item.Error.Code>
<Message.Event.Item.Severity.Code>Information</Message.Event.Item.Severity.Code>
<Message.Event.Item.Short.Description>sucessfully</Message.Event.Item.Short.Description>
</MessageEventItem>
</MessageEventItems>
Upvotes: 0
Views: 141
Reputation: 16469
I have tested with this :
<?xml version="1.0" encoding="UTF-8"?>
<MessageEvent>
<Message.Event.MaximumSeverity.Code>Information</Message.Event.MaximumSeverity.Code>
<MessageEventItems>
<MessageEventItem>
<Message.Event.Item.Error.Code>OK</Message.Event.Item.Error.Code>
<Message.Event.Item.Severity.Code>Information</Message.Event.Item.Severity.Code>
<Message.Event.Item.Short.Description>sucessfully</Message.Event.Item.Short.Description>
</MessageEventItem>
</MessageEventItems>
</MessageEvent>
What I tried through code :
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = factory.newDocumentBuilder();
Document doc = dBuilder.parse("D:/test.xml");
doc.getDocumentElement().normalize();
Element element = doc.getDocumentElement();
System.out.println(element); // picks up the root element
The output I am getting like this:
[MessageEvent: null]
Hope this helps you. :)
Upvotes: 1