Как получить XML, который приходит до и немного после DOM-узла - PullRequest
1 голос
/ 09 апреля 2010

Я использую Java, и я довольно открыт для использования w3c DOM или DOM4J.

Итак, допустим, у меня есть узел, похожий на текстовый узел, в котором я нашел что-то интересное, например, появление подстроки в тексте узлов. Если я хочу получить строку с числом символов перед этим узлом и несколькими символами после этого узла, как я могу это сделать? По сути, мне нужно иметь возможность отображать фрагмент исходного XML-кода вокруг появления этой строки.

Проблема, связанная с получением, например, родительского узла и последующим вызовом asXML, заключается в том, что я больше не знаю точное местоположение подстроки в текстовом узле. Если я снова ищу это строковое значение в родительском xml, я могу найти 2 или больше вхождений, если у родителя есть другие дочерние элементы, которые содержат вхождение этой строки.

Большое спасибо, если кто-нибудь может ответить на этот вопрос.

1 Ответ

0 голосов
/ 09 апреля 2010

Я давно ничего не делал с DOM из Java, поэтому воспринимайте это как псевдокод, а не Java.

По сути, все сводится к следующему:

parent = node.getParentNode()
Node[] children = parent.getChildNodes()

for (Node child : children) {
    if (child == node) {
        // Do something different with the matched node
    } else {
        // do something with child
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...