【问题标题】:Not able to set the default namespace in Android XmlSerializer无法在 Android XmlSerializer 中设置默认命名空间
【发布时间】:2012-08-28 04:18:17
【问题描述】:

如何使用 XMLSerializer 添加不带前缀的默认命名空间。

我在 Android 上使用 org.xmlpull.v1.XmlSerializer。

 XmlSerializer xmlSerializer = Xml.newSerializer();
 xmlSerializer.startTag("efgh", "abcd");    

<n0:abcd xmlns:n0="efgh">

但我希望它是

<abcd xmlns="efgh">

【问题讨论】:

    标签: android xml-serialization


    【解决方案1】:

    我相信这就是 XmlSerializer.setPrefix(String prefix, String namespace) 的用途:

    http://developer.android.com/reference/org/xmlpull/v1/XmlSerializer.html#setPrefix(java.lang.String, java.lang.String)

    你试过用那个吗?

    它将前缀绑定到命名空间。该调用对包括子元素在内的下一个元素有效。

    注意:此方法必须在 startTag() 之前直接调用,如果接下来调用 startTag() 或 setPrefix() 之外的任何方法,则会出现异常。

    【讨论】:

      【解决方案2】:

      其实不带前缀的命名空间可以看成一个属性。

      这是代码:

      xmlSerializer.startTag(null, "abcd");
      xmlSerializer.attribute(null, "xmlns", "efgh");
      xmlSerializer.endTag(null, "abcd");
      

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-13
      • 1970-01-01
      • 2015-02-11
      • 1970-01-01
      • 2021-11-03
      • 2019-07-21
      • 2016-03-13
      • 1970-01-01
      相关资源
      最近更新 更多