Разбор саксофонов с локальным именем более одного появления - PullRequest
3 голосов
/ 31 января 2011

Есть ли умный способ проанализировать тег, найденный в двух разных областях?

@Override
public void startElement(String namespaceURI, String localName,
String qName, Attributes atts) throws SAXException {    
if (localName.equals("item")) {
       this.in_item = true;
    }
}

пример:

<xml>
   <item>
      <test1 />
      <item />
      <test2 />
   </item>
</xml>

Ответы [ 3 ]

2 голосов
/ 31 января 2011

Сохранение Stack ранее увиденных узлов и управление нашим узлом соответственно.

1 голос
/ 31 января 2011

Когда у меня был описанный выше случай, я просто установил логическое значение var found1item в значение true, а при поиске следующего элемента я проверяю этот элемент и снова устанавливаю значение found1item в значение false.Если у вас более глубокое вложение, его может быть трудно реализовать, но если оно вложено только один раз, это просто.

0 голосов
/ 09 ноября 2012

взять родительские узлы и дочерние узлы, 1-й итерация цикла с родительским узлом, затем итерация цикла с дочерними узлами.

...