gpt4 book ai didi

Java 使用 Saxparser 导致抛出异常

转载 作者:太空宇宙 更新时间:2023-11-04 07:51:00 25 4
gpt4 key购买 nike

代码:

public void parse(byte[] payload)
{
try
{

SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser = factory.newSAXParser();

DefaultHandler handler = new DefaultHandler()
{
boolean eid = false;
boolean msg_id = false;
boolean date_time = false;
boolean temp = false;

public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
{
if (qName.equalsIgnoreCase("eid"))
{
eid = true;
}

if (qName.equalsIgnoreCase("msg_id"))
{
msg_id = true;
}

if (qName.equalsIgnoreCase("date_time"))
{
date_time = true;
}

if (qName.equalsIgnoreCase("temperature"))
{
temp = true;
}
}

public void characters(char ch[], int start, int length) throws SAXException
{

if (eid)
{
XMLMessagePacket.this.eid = new String(ch, start, length);
eid = false;
}

if (msg_id)
{
XMLMessagePacket.this.msgId = new String(ch, start, length);
msg_id = false;
}

if (date_time)
{
XMLMessagePacket.this.time = new String(ch, start, length);
date_time = false;
}

if (temp)
{
XMLMessagePacket.this.temperature.parseDouble(new String(ch, start, length));
temp = false;
}

}

};

saxParser.parse(new ByteArrayInputStream(payload), handler);
}
catch (Exception e)
{
e.printStackTrace();
}
}

XML

<?xml version="1.0"?>
<event>
<eid>345345</eid>
<msg_id>3242</msg_id>
<date_time>11342345</date_time>
<temperature>100</temperature>
</event>

问题:

org.xml.sax.SAXParseException:序言中不允许出现内容。

最佳答案

只是需要检查一下:一位 friend 曾经整夜与这个“bug”作斗争。您的文件是否有可能有 Byte Order Mark一开始?将其解析为字符串可能会使其消失。 XML 的默认编码是 UTF-8(不需要 BOM)。您可能会被看不见的东西绊倒。

关于Java 使用 Saxparser 导致抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14465747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com