【问题标题】:Why am I getting invalide XML from JSON?为什么我从 JSON 中得到无效的 XML?
【发布时间】:2016-12-18 13:55:41
【问题描述】:

这是我的代码(json 是一个字符串):

String xml = XML.toString(new JSONObject(json));

JSON:

{
    "components": {
        "header": "generic",
        "body": "generic",
        "footer": "watchlist"
    },
    "featuredArticle": {
        "title": "Test title",
        "text": "test text."
    },
    "header": {
        "ref": ""
    },
    "body": {
        "ref": ""
    },
    "footer": {
        "ref": ""
    }
}

XML:

<components>
    <footer>watchlist</footer>
    <header>generic</header>
    <body>generic</body>
</components>
<footer>
    <ref />
</footer>
<header>
    <ref />
</header>
<featuredArticle>
    <text>test text.</text>
    <title>Test title</title>
</featuredArticle>
<body>
    <ref />
</body>

当我在文本配对中验证 JSON 时,它通过了,但 XML 没有。

【问题讨论】:

  • XML 来自哪里?它属于什么包
  • 您的 XML 周围没有任何标记。所有部分都在顶层
  • @quidproquo org.json.XML

标签: json xml org.json


【解决方案1】:

在无效的 XML 标记语言中,您只需要一个包含元素的根元素,请在此处尝试:http://www.xmlvalidation.com/index.php?id=1&L=2 并验证 xml 是否正常,直到您关闭组件节点...

<root>
    all the xml content
</root>

【讨论】:

  • 没有。看看json结构,xml模仿得很好。
  • @njzk2 你是对的,我会纠正错误...谢谢
【解决方案2】:

有效的 XML 必须有 root element。您的示例没有。

尝试以下 JSON(添加根元素 "data"):

{
    "data": {
        "components": {
            "header": "generic",
            "body": "generic",
            "footer": "watchlist"
        },
        "featuredArticle": {
            "title": "Test title",
            "text": "test text."
        },
        "header": {
            "ref": ""
        },
        "body": {
            "ref": ""
        },
        "footer": {
            "ref": ""
        }
    }
}

【讨论】:

    猜你喜欢
    • 2010-11-13
    • 1970-01-01
    • 2021-07-22
    • 2018-05-15
    • 2013-03-20
    • 2019-10-26
    • 2021-05-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多