У меня есть простой XML-файл:
`<?xml: version = "1.0" ?>
<Company>
<Employee category = "technical">
<FirstName>John</FirstName>
<LastName>Doe</LastName>
<ContactNo>123456789</ContactNo>
</Employee>
<Employee category = "non-technical">
<FirstName>Jane</FirstName>
<LastName>Doe</LastName>
<ContactNo>1234567898</ContactNo>
</Employee>
</Company>`
Теперь мне нужно проанализировать XML с помощью StAX, но я не могу получить атрибуты.Мой код:
`public static void main(String[] args) throws XMLStreamException, FileNotFoundException {
XMLInputFactory xmlif = XMLInputFactory.newFactory();
Reader reader = new FileReader("Company.txt");
XMLStreamReader xmlsr = xmlif.createXMLStreamReader(reader);
while (xmlsr.hasNext()) {
switch (xmlsr.next()) {
case XMLStreamReader.START_ELEMENT:
System.out.println("START_ELEMENT");
System.out.println("Qname:" + xmlsr.getName());
break;
case XMLStreamReader.END_ELEMENT:
System.out.println("END_ELEMENT");
System.out.println("Qname:" + xmlsr.getName());
}
}
}`
Когда я начинаю читать элемент, я должен проверить, есть ли в нем атрибут, используя простую функцию IF.если у него есть атрибут, я буду использовать:
for (int i = 0; i < xmlsr.getAttributeCount(); i++) {
String attributeName = xmlsr.getAttributeLocalName(i);
String attributeValue = xmlsr.getAttributeValue(i);
System.out.println("Attribute value for " + attributeName + " = " + attributeValue);
}
Но я не знаю, куда именно поместить функцию IF и как ее проверить.Пожалуйста, кто-нибудь может вставить код функции IF.Спасибо ...