无法在Android XmlSerializer中设置默认命名空间

时间:2012-08-28 04:18:18

标签: android xml-serialization

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

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

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

正在提供<n0:abcd xmlns:n0="efgh">

但我希望它是

<abcd xmlns="efgh">

2 个答案:

答案 0 :(得分: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(),则会出现异常。

答案 1 :(得分:1)

实际上,没有前缀的命名空间可以看作属性。

所以这是代码:

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