Android:如何获取 TAG 的值:使用 XmlPullParser
Posted
技术标签:
【中文标题】Android:如何获取 TAG 的值:使用 XmlPullParser【英文标题】:Android: How to get the value of a TAG: with XmlPullParser 【发布时间】:2020-11-01 06:31:51 【问题描述】:如标题所述,使用 XmlPullParser,可以获取 XML 文档的标签,其函数如下所示:
public static void parseXML(Context context)
XmlPullParserFactory parserFactory;
try
parserFactory = XmlPullParserFactory.newInstance();
XmlPullParser parser = parserFactory.newPullParser();
InputStream is = context.getAssets().open("example.xml");
parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false);
parser.setInput(is, null);
processParsing(parser);
catch (XmlPullParserException e)
catch (IOException e)
public static void processParsing(XmlPullParser parser) throws IOException, XmlPullParserException
int eventType = parser.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT)
String eltName = null;
switch (eventType)
case XmlPullParser.START_TAG:
eltName = parser.getName();
System.out.println(eltName); //Delievers the TAG-Name
System.out.println(parser.getText()); // Should deliever the TAG-Value - delievers 'null'
System.out.println(parser.nextText()); // Also doesn't give out any value.
break;
eventType = parser.next();
XML:example.xml
<players>
<player>
<name>Lebron James</name>
<age>32</age>
<position>SF/PF</position>
</player>
<player>
<name>Kevin Durant</name>
<age>29</age>
<position>SF/PF</position>
</player>
<player>
<name>Stephen Curry</name>
<age>29</age>
<position>PG</position>
</player>
</players>
问题: System.out.println(parser.getText());
// 应该传递 TAG-Value - delievers 'null'
System.out.println(parser.nextText());
// 也不给出任何值。
问题:如何获取给定 XML-Document 中标签的值?
如何获得价值
【问题讨论】:
【参考方案1】:为了获取文本,你需要在这里有另一个案例:
案例 XmlPullParser.TEXT:
然后在该块中,您可以获取文本。
parser.getText()
【讨论】:
以上是关于Android:如何获取 TAG 的值:使用 XmlPullParser的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ruby / chef 中打印 git latest_tag 命令的值
如何在单个@IBAction 中获取多个 UISlider 的值?
当我使用 javascript 在 html 中获取 p-tag 的值时,我尝试向该值添加一个特定的数字,但输出给出 NaN