Как скрести строки внутри заданных тегов? - PullRequest
0 голосов
/ 15 марта 2012

У меня есть XML, прочитанный в один String.Мне нужно получить все данные внутри тегов <code>.Мне не нужно идти, хотя весь XML-файл разбирает их.Могу ли я использовать простую технику обработки строк, чтобы получить данные внутри этих тегов.

input : <a><b><code>Hello</code></b><code>World</code></a>

output : Hello, World

Ответы [ 2 ]

3 голосов
/ 15 марта 2012

Regex - это , а не - желательный инструмент для работы с XML, особенно когда есть много сложных анализаторов. Вы можете использовать пакет javax.xml.xpath, чтобы сделать это для вас, например:

    XPath xp = XPathFactory.newInstance().newXPath();
    NodeList nl =  (NodeList)xp.evaluate("//code", new InputSource(new StringReader("<a><b><code>Hello</code></b><code>World</code></a>")), XPathConstants.NODESET);
    for(int i=0; i< nl.getLength(); i++){
        System.out.print(nl.item(i).getTextContent()+", ");
    }

приведет

Hello, World, 
0 голосов
/ 15 марта 2012

Следуйте примеру здесь : это просто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...