【问题标题】:Why does java / android require an empty space at the beginning of an XML element to parse it?为什么java / android需要在XML元素的开头有一个空格来解析它?
【发布时间】:2011-03-22 05:15:01
【问题描述】:

我正在为我正在编写的 Android 应用程序解析一个 XML 文件,并注意到没有前导空格的第一个字符被替换为空格。

  public void characters(char ch[], int start, int length) { //extends DefaultHandler
if(this.in_mytag || this.in_user_id){
  myXMLParser.setExtractedString(new StringBuffer().append(ch).toString());
}
  }

我想在我的 XML 中使用以下格式...

<user_id>123</user_id> 

返回的字符串是“23”(1 丢失,字符串中有一个空格)。 如果我使用

&lt;user_id&gt; 123&lt;/user_id&gt;

结果是预期的“123”。我在这里想念什么?或者这是典型的,我需要更改我的 XML 文件。

【问题讨论】:

  • 请发布 SSCCE (sscce.org) 否则没有人能够重现您的问题。

标签: java android xml-parsing


【解决方案1】:

我见过的所有 SAX characters() 方法实现都观察到了偏移量和长度参数。

这个版本有什么不同吗?

myXMLParser.setExtractedString(new String(ch, start, length));

【讨论】:

    【解决方案2】:

    我不确定这是否是原因,但我注意到您在 xml 中遗漏了结束标识符。 &lt;user_id&gt;123&lt;user_id&gt; 应该是 &lt;user_id&gt;123&lt;/user_id&gt;

    【讨论】:

    • 哎呀,这是我发帖的错字。我的 xml 文件确实有结束标识符。 ty
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    • 2015-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多