SimpleXML - Android - CDATA 解析

发布于 2024-12-28 23:16:58 字数 801 浏览 2 评论 0原文

我正在使用 SimpleXML 在 Android 中解析 XML 文件。我需要解析以下 XML,

<?xml version="1.0" encoding="UTF-8"?>
<Box>
    <SerialNumber>XYSSDSD</SerialNumber>
    <Alias><![CDATA[SSS: 8]]></Alias>
    <BoxType>SD</BoxType>
</Box>

我编写了 Bean 类来映射上面的 xml

@Element(name="SerialNumber")
private String serialNumber;
@Element(name="Alias", data=true)
private String aliasType;  
@Element(name="BoxType")
private String boxType;

我在解析 XML 时遇到以下异常

1-24 23:57:47.407: APItoBEAN(1796) 中的 E/异常:无法满足 @org.simpleframework.xml.Element(data=true, name=Alias, required=true, type=void) 位于类 Box 的字段 'aliasType' 私有 .Box.aliasType 上 在第 1 行

有人可以帮我吗? 谢谢您的宝贵时间!

I'm using SimpleXML for parsing XML files in Android. I need to parse the following XML,

<?xml version="1.0" encoding="UTF-8"?>
<Box>
    <SerialNumber>XYSSDSD</SerialNumber>
    <Alias><![CDATA[SSS: 8]]></Alias>
    <BoxType>SD</BoxType>
</Box>

I wrote Bean class to map the above xml

@Element(name="SerialNumber")
private String serialNumber;
@Element(name="Alias", data=true)
private String aliasType;  
@Element(name="BoxType")
private String boxType;

I'm getting the following exception while parsing the XML

1-24 23:57:47.407: E/Exception in APItoBEAN(1796): Unable to satisfy
@org.simpleframework.xml.Element(data=true, name=Alias, required=true,
type=void) on field 'aliasType' private .Box.aliasType for class Box
at line 1

Could you anybody help me here?
Thank you for your time!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

傲影 2025-01-04 23:16:58

我在 PC (SimpleXML 2.6.6) 上使用以下 Java 代码对此进行了测试:

Box 类:

@Root
public class Box
{
    @Element(name = "SerialNumber")
    private String serialNumber;
    @Element(name = "Alias", data = true)
    private String aliasType;
    @Element(name = "BoxType")
    private String boxType;

    // ...
}

读取 XML:

final File f = new File("test.xml"); // your XML is in this file


Serializer ser = new Persister();
Box box = ser.read(Box.class, f);

毫无例外地工作。

您是否清理了项目并重新构建了它?你的代码看起来没问题。

I tested this on PC (SimpleXML 2.6.6) with following Java Code:

Box Class:

@Root
public class Box
{
    @Element(name = "SerialNumber")
    private String serialNumber;
    @Element(name = "Alias", data = true)
    private String aliasType;
    @Element(name = "BoxType")
    private String boxType;

    // ...
}

Reading the XML:

final File f = new File("test.xml"); // your XML is in this file


Serializer ser = new Persister();
Box box = ser.read(Box.class, f);

Works without exception.

Did you clean your project and build it again? Your code seems to be OK.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文