ここで読んでいるいくつかの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 をすべて 1 行に入れることができることはわかっていますが、入力時にギャップを設けて、構造を確認できるようにしたいと考えています。また、検証するxsdがあり、これによりxmlが正常に検証されます.xsdでスペースを削除するためにできることはありますか?
ありがとう