如何在Java中读取XML DOM对象中的特定节点?

如何在Java中读取XML DOM对象中的特定节点?,java,Java,我只想在Dom对象中读取一个特定的节点MessageEvent,其中doc是一个已经生成的Dom对象。有什么想法吗?谢谢 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = factory.newDocumentBuilder(); doc = dBuilder.parse(xmlFile); doc.getDocumentElement().norm

我只想在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>
我得到的输出如下:

[MessageEvent: null]

希望这对你有帮助

你可以共享一个示例xmlUnrelated:parse方法创建一个规范化的DOM树,因此不需要调用normalize。有什么想法吗?关于什么?您的代码已经读取了MessageEvent节点,问题是什么?它没有获取确切的节点MessageEvent。谢谢。首先选择根节点。然后是子节点
[MessageEvent: null]