我需要将XML文档编码为一种格式,该格式将作为字符串(即条带标记)传递给XML解析器。然后我需要再次解码它,我需要在Android上执行此操作。我正在寻找Android API中的库/类是什么?
由于
答案 0 :(得分:4)
XmlSerializer
可能就是你想要的。用它来构建“外部”XML文档;你可以给它text(...)
method一个完整的XML字符串,它会为你做转发。如果您真的想要构建DOM树然后将其转储到XML,则可以使用setTextContent对DOM API执行相同的操作。您似乎意识到,当您要求返回文本时,任何XML解析器都将正确解码实体引用。
如果您真的想编写自己的XML构建代码,可以尝试将Apache commons-lang库添加到项目中StringEscapeUtils class。我不知道在基础Android API中没有构建真实XML的情况下只会进行实体替换。
举个例子,试试这个:
XmlSerializer xs = Xml.newSerializer();
StringWriter sw = new StringWriter();
xs.setOutput(sw);
xs.startDocument(null, null);
xs.startTag(null, "foo");
xs.text("<bar>this is some complete XML document you had around before</bar>");
xs.endTag(null, "foo");
xs.endDocument();
Log.v("XMLTest", "Generated XML = " + sw.toString());
答案 1 :(得分:2)
我最终使用了URLEncoder / URLDecoder,它看起来效果很好。
String encoded = URLEncoder.encode(xml);
答案 2 :(得分:0)
将军Java XML Parser是要走的路。
如果您必须手动构建它,则可以使用XmlSerializer
编辑:
Here是一篇关于在android上使用xml的文章,但它也使用XmlSerializer进行编写
答案 3 :(得分:0)
这个问题是第一个结果之一,当我搜索解决这个问题的解决方案时,我在这里回答
Html.fromHtml(字符串)