Android-如何在xml标记之间提取数据

Android-如何在xml标记之间提取数据,android,xml,eclipse,Android,Xml,Eclipse,我有一个res/xml/myxmlfile,看起来像这样(很抱歉截图,我不确定如何在stackoverflow编辑器中正确显示xml文件): 意大利腊肠 意大利 辣味 香肠 夏威夷人 鸡 培根 干酪 南瓜 甜玉米 素食主义者 我想编写一个函数,将食物类型作为参数(例如Burger),并将标签之间的所有项目加载到字符串[I]中 所以函数应该是这样的: public string[]GetAllSubFoodType(string foodtype) { 字符串[]内容; //---伪代码,因为

我有一个res/xml/myxmlfile,看起来像这样(很抱歉截图,我不确定如何在stackoverflow编辑器中正确显示xml文件):


意大利腊肠
意大利 辣味 香肠
夏威夷人
鸡
培根
干酪
南瓜
甜玉米
素食主义者
我想编写一个函数,将食物类型作为参数(例如Burger),并将标签之间的所有项目加载到字符串[I]中

所以函数应该是这样的:

public string[]GetAllSubFoodType(string foodtype)
{
字符串[]内容;
//---伪代码,因为我不知道怎么做
Loadxmlfile
在文件中查找标记
将和之间的所有数据加载到字符串[]内容中
返回内容;
}
如何从main调用函数的示例:

string[] subFoodType;

subFoodType = GetAllSubFoodTypes("Burger")
子模块类型的内容将是:


子模块类型[0]
将是“鸡”;
子模块类型[1]
将是“培根”等等。

您可以使用xml解析,如pull解析器、DOM解析器和SAX解析器

您可以使用DOM API,例如:

DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = builderFactory.newDocumentBuilder();
Document document = builder.parse("input.xml");

XPath xpath = XPathFactory.newInstance().newXPath();
String expression = "/Food/Pizza/type[1]"; // first type
Node pizza = (Node) xpath.evaluate(expression, document, XPathConstants.NODE);

if (pizza== null)
    System.out.println("Element pizza type not exists");
else
    System.out.println(pizza.getTextContent());