2011-01-19 3 views
1

У меня есть файл "contacts.xml", его структура:Как разобрать файл XML с помощью XMLReader

<?xml version="1.0" encoding="UTF-8"?> 
<Contacts> 
    <Contact> 
     <ContactId>1</ContactId> 
     <ContactName>Aditya Kothari</ContactName> 
     <MobilePhone1>NA</MobilePhone1> 
     <MobilePhone2>NA</MobilePhone2> 
     <OfficePhone1>NA</OfficePhone1> 
     <OfficePhone2>NA</OfficePhone2> 
     <OfficePhone3>NA</OfficePhone3> 
     <HomePhone1>999-367-3944</HomePhone1> 
     <HomePhone2>NA</HomePhone2> 
     <TokenId>mtn</TokenId> 
    </Contact> 
    <Contact> 
     <ContactId>2</ContactId> 
     <ContactName>Jai Mandloi </ContactName> 
     <MobilePhone1>NA</MobilePhone1> 
     <MobilePhone2>NA</MobilePhone2> 
     <OfficePhone1>NA</OfficePhone1> 
     <OfficePhone2>NA</OfficePhone2> 
     <OfficePhone3>NA</OfficePhone3> 
     <HomePhone1>800-742-9678</HomePhone1> 
     <HomePhone2>NA</HomePhone2> 
     <TokenId>mtn</TokenId> 
    </Contact> 
</Contacts> 

Теперь я делаю this-

File xmlFile = new File("E:\\contacts.xml"); 
InputStream is = new FileInputStream(xmlFile); 
XMLInputFactory factory = XMLInputFactory.newInstance(); 
XMLStreamReader reader = factory.createXMLStreamReader(is); 
while(reader.hasNext()) 
{ 
    if(reader.hasText() 
    { 
     System.out.println(reader.getText()); 
    } 
    reader.next(); 
} 

Я не хочу значения Элементы «ContactId» и «TokenId» из xml. Как мне закодировать?

ответ

2

Недавно я получил это ПУТЬ

while(reader.hasNext()) 
{ 
    if(reader.getEventType()==XMLStreamConstants.START_ELEMENT) 
    { 
    if(!reader.getLocalName().equals("ContactId") && !reader.getLocalName().equals("TokenId") && !reader.getLocalName().equals("Contacts") && !reader.getLocalName().equals("Contact")) 
    { 
     System.out.println(reader.getElementText()); 
    }   
    } 
    reader.next(); 
} 
Смежные вопросы