我有一些正在阅读的 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中做些什么来删除空格?
谢谢