我只想读取 Dom 对象中的特定节点“MessageEvent”,其中 doc 是已生成的 Dom 对象。有任何想法吗?谢谢。
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = factory.newDocumentBuilder();
doc = dBuilder.parse(xmlFile);
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("MessageEvent");
这是 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>
我已经测试过这个:
<?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>
我通过代码尝试过的:
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
我得到的输出是这样的:
[MessageEvent: null]
希望这对你有帮助。:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句