2013-05-30 4 views
0

Я новичок в Android, и я не знаю, какой анализатор лучше так, ребята, можете ли вы помочь мне разобрать этот XML-файлКак разобрать этот XML-код

<poem name="P01"> 
    <stanza name="P1S1"> 
     <Line name="P1S1L1"> 
      <word name="P1S1L1W1">Twinkle</word> 
      <word name="P1S1L1W2">twinkle</word> 
      <word name="P1S1L1W3">little</word> 
      <word name="P1S1L1W4">star</word> 
     </Line> 
     <Line name="P1S1L2"> 
      <word name="P1S1L2W1">How</word> 
      <word name="P1S1L2W2">I</word> 
      <word name="P1S1L2W3">wonder</word> 
      <word name="P1S1L2W4">what</word> 
      <word name="P1S1L2W5">you</word> 
      <word name="P1S1L2W6">are</word> 
     </Line> 

    </stanza> 

    </poem> 

Я был дать Id или имя, чтобы каждый тег, и я хочу прочитать текст/значение тега, используя имя Name/ID not Tag Name , потому что, если я хочу прочитать текст, задайте вопрос, так что есть много слов, поэтому, как я мог прочитать одно значение/текст тега используя это имя/идентификатор. Так что, пожалуйста, дайте мне предложение на этот извините за мой английский Thanx заблаговременно

+0

с помощью XML синтаксический. – Riser

+0

какой тип парсера, я пытаюсь получить данные тега – user2388396

ответ

0

Это просто. Вы должны использовать парсер DOM.

Вот link.

Вы также можете использовать для анализа SAX, но это довольно сложно.

+0

XML-анализатор для переноса легко или сложно для этого xml – user2388396

+0

Пожалуйста, дайте мне пример парсера Pull – user2388396

+0

XML-анализатор будет головной болью для этого простого XML-файла. Я не рекомендую вам использовать парсер Pull. В любом случае это [ссылка для синтаксического анализа XML PULL] (http://adf.ly/3103720/banner/http://rajeshvijayakumar.blogspot.in/2013/04/xml-pull-parser-example-in-android.html). –

0

использовать этот код:

private static void xmlParser() { 
    try { 
     String filepath = "yourfile.xml"; 
     DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); 
     DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); 
     Document doc = docBuilder.parse(filepath); 
     // Get the root element 
     Node min = doc.getElementsByTagName("poem").item(0); 
     NamedNodeMap attr = min.getAttributes(); 
        // get the value of the name= 
     Node nodeAttr = attr.getNamedItem("name"); 
        //if you want to change the value of the name use 
        nodeAttr.setTextContent("new name value"); 
        //if you want to get the value between >value< use 
        nodeAttr.getTextContent() 
     TransformerFactory transformerFactory = TransformerFactory.newInstance(); 
     Transformer transformer = transformerFactory.newTransformer(); 
     DOMSource source = new DOMSource(doc); 
     StreamResult result = new StreamResult(new File(filepath)); 
     transformer.transform(source, result); 
    } catch (ParserConfigurationException e) { 
      e.printStackTrace(); 
    } 
    catch (IOException ioe) { 
      ioe.printStackTrace(); 
     } catch (SAXException sae) { 
      sae.printStackTrace(); 
     } catch (TransformerConfigurationException e) { 

      e.printStackTrace(); 
     } catch (TransformerException e) { 

      e.printStackTrace(); 
     } 
} 

просто применить выше остальных тегов ..

Смежные вопросы