【发布时间】:2013-03-22 23:13:18
【问题描述】:
我想制作一个应用程序,从 web 中获取需要解释和呈现的 XML 文档,例如:
<doc>
<entity type="person">You</entity> can also look at <ref to="A">A</ref> or <ref to="B">B</ref>.
</doc>
文档有一个相当复杂的 DTD 和一个非静态的结构,并且可能包含数千个标签。
假设我希望将ref 元素呈现为可点击元素,并暂时忽略其他标签(仅将它们显示为普通文本)。
我是否应该使用XmlPullParser 扫描文件,从文档中创建一个内部数据结构并为所有文本序列创建TextViews,并使ref 标签可点击TextViews? (这是Android开发资源'Parsing XML Data'中描述的方法。)
或者,将文档转换为 HTML 并使用WebView 是否更好,性能和用户体验更好?或者做一些其他的解析技巧,比如使用SimpleXML而不是XmlPullParser来反序列化XML?
【问题讨论】:
-
将输入转换为 HTML 并在 WebView 中显示;)
-
呃...使用 Android 已经用于 UI 的 XML...?
-
所以您的意思是加载 XML 文档并将其转换为 Android 布局 (XML) 文档并在运行时对其进行扩充?您认为这是否有效,尤其是当您的文档包含数千个标签时?
-
为什么投反对票?对我来说,这似乎是一个非常合理的问题。
-
这是一个完全“合法”的问题,但我怀疑这表明对 Android XML 的工作原理存在根本性的误解。有关详细信息,请参阅我的答案。