5

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

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

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

正在给<n0:abcd xmlns:n0="efgh">

但我希望它是

<abcd xmlns="efgh">
4

2 回答 2

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() 之外的任何方法,都会出现异常。

于 2012-10-14T01:23:30.520 回答
1

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

所以这是代码:

xmlSerializer.startTag(null, "abcd");
xmlSerializer.attribute(null, "xmlns", "efgh");
xmlSerializer.endTag(null, "abcd");
于 2015-11-07T09:27:55.600 回答