Ram*_*dal 2 java xml android attributes xmlserializer
我正在开发 android 项目,在任务的某些部分我需要创建 xml 文档文件。我需要像这样创建包含冒号的属性
<APPLICAD_EXPORT xsi:noNamespaceSchemaLocation="file:///c:/temp/applicad-export.xsd">
Run Code Online (Sandbox Code Playgroud)
我可以成功创建 xml 文件,但问题是我无法为属性 APPLICAD_EXPORT 添加冒号。
到目前为止,我确实喜欢这样获取属性前缀的冒号
XmlSerializer serializer = Xml.newSerializer();
//we set the FileOutputStream as output for the serializer, using UTF-8 encoding
serializer.setOutput(fileos, "UTF-8");
//Write <?xml declaration with encoding (if encoding not null) and standalone flag (if standalone not null)
serializer.startDocument(null, Boolean.valueOf(true));
//set indentation option
serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
serializer.startTag(null, "APPLICAD_EXPORT");
serializer.attribute(null, "xsi:noNamespaceSchemaLocation", "file:///c:/temp/applicad-export.xsd");
Run Code Online (Sandbox Code Playgroud)
但它显示错误说属性 xsi 的规范强制值
我想可能有某种方法可以实现这一目标,但我无法弄清楚。
冒号很特殊:您的属性名称由命名空间前缀(这是命名空间 URI 的简写,在本例中为“ http://www.w3.org/2001/XMLSchema-instance ”)和本地名称组成,分隔开通过冒号。
您的调用XmlSerializer.attribute()应指定名称空间 URI 作为第一个参数,并将本地名称 ( "noNamespaceSchemaLocation") 作为第二个参数。
您还需要使用 将名称空间前缀绑定到 URI XmlSerializer.setPrefix("xsi", "http://www.w3.org/2001/XMLSchema-instance")。
| 归档时间: |
|
| 查看次数: |
5653 次 |
| 最近记录: |