java - 获取单个 xml 节点 - android dev

标签 java android xml

我想制作一个使用 xml 数据库中的数据的应用程序,有两点我需要帮助,因为我发现 Java 和 xml 太复杂了。

例如

<items>
<1><name>box</name><price>2.00</price></1>
<2><name>pencil</name><price>1.00</price></1>
</items>
  1. 从子节点获取单个 xml 值(例如第一项的名称 - “box”)
  2. 从子节点获取 xml 数据库(将其用作列表框的数据源) - 这不是必需的。

最佳答案

这里的问题是 XML 节点必须以字母开头命名 - 就像 Java 中的变量一样。尝试如下操作:

<items>
    <item name="box" price="2.00" />
    <item name="pencil" price="1.00" />
</items>

所以你看,每个 item表示为<item> 。在 XML 中,标签具有语义意义。你可以做类似的事情(取决于你的解析器 - 这实际上更接近 JavaScript,但我希望你能明白这个想法):

myXmlDocument = parseThatXMLForMePlease(); // Load the XMl from wherever
itemList = myXmlDocument.getChildren()[0]; // Get the first node in the document
firstItem = itemList.getChildren()[0];     // Get the first child of the item list
itemName = firstItem.getAttr("name");
itemPrice = firstItem.getAttr("price");

如果您想使用数据作为某些列表框的基础,您可能需要使用 Adapter 。这基本上是一个数据结构,设计用于向某些 UI 小部件提供数据(链接指向 ListAdapter - 这听起来正是您想要的)。

关于java - 获取单个 xml 节点 - android dev,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3227509/

相关文章:

java - 是否真的有必要删除完整的监听器 Firebase 身份验证?

java - Android布局-设置相对于屏幕尺寸的圆角半径

ios - 通过 TableView 将 XML 数组数据传递到 CollectionView

java - 如何使用appium自动化flutter移动应用程序?

java - ?在打印心形符号时

java - IntelliJ IDEA 13 Scala Plugin & Eclipse Kepler 编译报错

java - Stax 解析两次

Java JComboBox 滚动到所选项目

java - View.setBackground()设置ImageButton的背景?

android - DeviceId 和应用程序权限