2016-06-13 3 views
1

Я пытаюсь читать XML, похожее на это:XML чтения атрибут и элемент

<Cells> 
      <Cell row="3" column="1">a</Cell> 
      <Cell row="5" column="0">4</Cell> 
    </Cells> 

И я использую DOM Parser .. И я хочу, чтобы прочитать строку, столбец и содержание (в этот случай «a» или «4»);

Вот пример моего кода

doc.getDocumentElement().normalize(); 

     NodeList nList = doc.getElementsByTagName("Cell"); 

     for (int temp = 0; temp < nList.getLength(); temp++) { 

      Node nNode = nList.item(temp); 

      if (nNode.getNodeType() == Node.ELEMENT_NODE) { 

       Element eElement = (Element) nNode; 

       System.out.println(eElement.getAttribute("row") + "\t" 
         + eElement.getAttribute("column") + "\t"); 
       System.out.println(eElement.getElementsByTagName("Cell").item(0).getTextContent());    
      } 
     } 

Когда я запускаю программу она застывает на «eElement.getElementsByTagName (» Cell «)» и только печать -> 3 1 (строки и столбец)

Я не понимаю, почему он не печатает элементную ячейку, а «а» и «4» находятся внутри элемента ячейки справа? Я не могу читать XML в этом формате?

Спасибо!

ответ

1

Попробуйте это изменение

System.out.println(eElement.getElementsByTagName("Cell").item(0).getTextContent();

к

System.out.println(eElement.getTextContent());

+0

Спасибо, сработало! .. Я приму свой ответ – Joseph