У меня есть XML, который я читаю, вот он.
<application>
<client>website</client>
<register>
<name>
<first>Tommy</first>
<second>Jay</second>
</name>
<address>
<firstLine>line1</firstLine>
<secondLine>line2</secondLine>
<city>city1</city>
<county>county1</county>
<postcode>YY12 9UY</postcode>
</address>
</register>
</application>
В любом случае, когда я прочитал его с помощью xmlStreamReader, как показано ниже
public XMLElementALT getNextElement()
{
element = new XMLElementALT();
int event;
try
{
event = reader.next();
}
catch (XMLStreamException ex)
{
return null;
}
if (event == XMLStreamConstants.START_ELEMENT)
{
element.setTag(reader.getLocalName());
}
else if (event == XMLStreamConstants.CHARACTERS)
{
element.setAttribute(reader.getText());
}
else if (event == XMLStreamConstants.END_ELEMENT)
{
element.setEndTag(reader.getLocalName());
}
else if (event == XMLStreamConstants.END_DOCUMENT)
{
element.setFinished();
}
return element;
}
Все идет хорошо! Однако проблема, с которой я столкнулся, заключается в том, что после прочтения тега следующее событие, которое я получаю, - это событие XMLStreamConstants.CHARACHTERS, и оно сообщает, что у меня есть атрибут ("\ n"), который представляет собой пространство между тегом и следующим тегом. Как я могу это удалить? Я хочу иметь следующее событие как XMLStreamConstants.START_ELEMENT. Я знаю, что могу поместить свой XML в одну строку, но мне нравятся пропуски при вводе, чтобы я мог видеть структуру. У меня также есть xsd для проверки, и это успешно проверяет xml, есть ли у них что-то, что я могу сделать в xsd, чтобы он удалил пробелы?
Спасибо