【问题标题】:Printing XML format error打印 XML 格式错误
【发布时间】:2012-09-20 15:49:48
【问题描述】:
"<?xml version=\"1.0\"?>"
                + "<methodResponse>"
                + "<fault>"
                + "<value>"
                + "<struct>"
                + "<member>"
                + "<name>faultCode</name>"
                + "<value>"
                + "<int>"
                + "-1"
                + "</int>"
                + "</value>"
                + "</member>"
                + "<member>"
                + "<name>faultString</name>"
                + "<value>"
                + "<string>"
                + "The element type value must be terminated by the matching end-tag </value>"
                + "</string>" + "</value>" + "</member>" + "</struct>"
                + "</value>" + "</fault>" + "</methodResponse>";

在这里,当我尝试添加文本元素类型值必须由匹配的结束标记终止时,它会引发空指针异常。我该如何处理。我希望以下部分抛出错误。问题在于“结束标签”。我该如何处理。

+ "<string>"
                    + "The element type value must be terminated by the matching end-tag </value>"
                    + "</string>" +

【问题讨论】:

    标签: java


    【解决方案1】:

    您应该通过而不是自己创建 XML 来处理这个问题 - 您应该使用 XML API。

    您试图将&lt;/value&gt; 作为文本的一部分而不转义,从而创建了无效的 XML。它应该是 &amp;lt;/value&gt; - 但与其手动修复此问题,不如在创建 XML 时使用 XML API。

    &amp;gt;可以转义为&amp;gt;,但不是必须的。)

    【讨论】:

      【解决方案2】:

      你需要转义文字...

      "The element type value must be terminated by the matching end-tag &lt;/value&gt;"
      

      【讨论】:

      • 如何转义 标签。我需要用 < 替换它吗?还是有其他方法?
      • 正如代码示例所示,将“" 与 ">"。您可能想阅读XML Escaping
      • 我会使用 String.replace 之类的东西,但正如 Jon 所说,我也会改用 XML API
      【解决方案3】:

      尝试在您的 XML 字符串中使用 CDATA; XML CDATAStackoverflow

      【讨论】:

        猜你喜欢
        • 2015-11-28
        • 1970-01-01
        • 2011-05-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-13
        相关资源
        最近更新 更多