代码之家  ›  专栏  ›  技术社区  ›  Bostone

Android XML-在pull解析期间保存文本块

  •  0
  • Bostone  · 技术社区  · 14 年前

    org.xmlpull.v1.XmlPullParser ). 当我到达特定的节点时,我想抓取它和它的所有子节点作为文本块(或者也可以只抓取子节点)并另存为字符串。实现这一目标的有效方法是什么?任何比(本质上)更好的东西 buffer.append('<').append(xpp.getName()).append('>') ?

    <root id="root">
        <node>
          <grab-all-inside>
              <!-- bunch of nodes, attributes etc. that needs to be saved as text -->
          </grab-all-inside>
        </node>
        <node>
          <grab-all-inside>
              <!-- bunch of nodes, attributes etc. that needs to be saved as text -->
          </grab-all-inside>
        </node>
        <node>
          <grab-all-inside>
              <!-- bunch of nodes, attributes etc. that needs to be saved as text -->
          </grab-all-inside>
        </node>
    </root>
    

    另外,如果你认为我最好使用其他的解析器或技术,我愿意接受你的建议。作为旁注-这些文本块将被序列化到db,前提是在某个时候这些文本块将被提取和解析

    1 回复  |  直到 14 年前
        1
  •  1
  •   CommonsWare    14 年前

    append() 电话打得很好。这些都是pull解析器中的单个事件。

    如果这是XML资源,请考虑改用字符串资源。我知道对于Android1.6+来说,它们可以包含轻度的HTML标记,也可能是它们可以包含任意的标记,只是被当作一个字符串来对待——我没有尝试过。或者,为每个节点的内容创建原始资源,并将整个内容作为字符串读入。