Как разобрать org.w3c.dom.Element RPX XML-ответ - PullRequest
0 голосов
/ 18 мая 2010

Я использую rpxnow в Java, как я могу использовать org.w3c.dom API, чтобы получить поле identifier в этом XML-ответе, например?

<?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 голосов
/ 18 мая 2010

Вы смотрели документацию API пакета org.w3c.dom?Класс 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() : "";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...