如何解析org.w3c.dom.Element RPX XML响应

时间:2010-05-18 05:27:50

标签: java xml

我在Java中使用rpxnow,如何使用org.w3c.dom API来获取此XML响应中的字段identifier

<?xml version='1.0' encoding='UTF-8'?>
    <rsp stat='ok'>
      <profile>
        <displayName>
          brian
        </displayName>
        <identifier>
          http://brian.myopenid.com/
        </identifier>
        <preferredUsername>
          brian
        </preferredUsername>
        <providerName>
          Other
        </providerName>
        <url>
          http://brian.myopenid.com/
        </url>
      </profile>
    </rsp>

1 个答案:

答案 0 :(得分:0)

您是否查看了包org.w3c.dom的API文档?类Element包含诸如getElementsByTagName(String name)之类的方法,以获取具有特定标记名称的子元素(以及可能有用的其他方法)。但是,使用此API有点麻烦。您可以使用XPath(请参阅包javax.xml.xpath)来使用更少的代码行。例如(未经测试):

Element element = ...;

XPath xpath = XPathFactory.newInstance().newXPath();
Node node = (Node) xpath.evaluate("/rsp[@stat='ok']/profile/identifier", element, XPathConstants.NODE);

String value = node != null ? node.getTextContent().trim() : "";