【问题标题】:XMLSerialize ignores first elementXMLSerialize 忽略第一个元素
【发布时间】:2011-06-01 13:16:38
【问题描述】:

嘿, 我有一个简单的实用功能:

    public static String xmlToJson() {
        String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><account id=\"DEV55419669\"></account>";
        XMLSerializer serializer = new XMLSerializer()
        String result = serializer.read(xml).toString();
        return result;
    }

结果是:

{"@id":"DEV55419669"}

任何想法为什么 XMLSerializer “删除”第一个元素?

附言- XMLSerializer 是 net.sf.json.xml.XMLSerializer。

谢谢, 乌迪

【问题讨论】:

  • 哈!知道了! XMLSerializer 可以使用 setForceTopLevelObject(true) 设置,其余的只是一个魔术。太糟糕了,我不能为自己投票:)

标签: java xml json


【解决方案1】:

第一个元素是什么?

如果你指的是&lt;?xml开头的部分,那么原因很简单:

它不是 XML 元素,而是标头(正式名称为 XML declaration,是序言的一部分)

【讨论】:

  • 不。我指的是“帐户”元素。
  • 我明白了。这似乎被忽略了,因为根元素是隐式的。请注意,您可以在序列化为 XML 时指定根元素的名称。
  • 不。我将 XML 字符串更改为:,但它仍然忽略了第一个元素。这次是“bla”......你知道我该如何告诉序列化程序我的根元素是什么吗?
猜你喜欢
  • 2022-12-03
  • 1970-01-01
  • 2022-11-30
  • 2011-06-14
  • 1970-01-01
  • 1970-01-01
  • 2011-12-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多