从包含在字符串中的 XML 获取值
Posted
技术标签:
【中文标题】从包含在字符串中的 XML 获取值【英文标题】:Get values from a XML contained in a String 【发布时间】:2015-10-23 02:49:19 【问题描述】:我有一个包含 XML 的字符串变量:
String xml = "<?xml version="1.0" encoding="utf-8" standalone="yes"?><CourtactSioux><ListeContact><IdContactClient>212</IdContactClient><DateContact>25/06/2012 08:09</DateContact><TypeForm>STANDARD</TypeForm><Foyer>2</Foyer><Civilite>M</Civilite><Nom>TEST</Nom><Prenom>JULIEN</Prenom><NomJeuneFille></NomJeuneFille></ListeContact></CourtactSioux>"
我想从这个 XML 中获取值,怎么办? 例如:获取“Civilite”值。
我试过这个:
String xml = cn.getXml();
Integer demandeId = cn.getID();
XMLParser parser = new XMLParser();
Document doc = parser.getDomElement(xml); // getting DOM element
NodeList nl = doc.getElementsByTagName(KEY_ITEM);
// looping through all item nodes <item>
for (int i = 0; i < nl.getLength(); i++)
Element e = (Element) nl.item(i);
idApplication = parser.getValue(e, IdApplication);
idContactClient = parser.getValue(e, IdContactClient);
logement = parser.getValue(e, Logement);
typeForm = parser.getValue(e, TypeForm);
id = idApplication + idContactClient;
Product product = new Product()
.setId(id)
.setName(logement)
.setCategory(typeForm)
.setPrice(1)
.setQuantity(1);
ProductAction productAction = new ProductAction(ProductAction.ACTION_PURCHASE)
.setTransactionId(id)
.setTransactionAffiliation("Solutis")
.setTransactionRevenue(1);
HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder()
.addProduct(product)
.setProductAction(productAction);
Tracker t = ((App) getApplication()).getTracker();
t.setScreenName("transaction");
t.send(builder.build());
它的工作,注意你的xml的aprent节点
【问题讨论】:
使用xml解析:androidhive.info/2011/11/android-xml-parsing-tutorial 为此使用XML Parser。 Parse XML on Android的可能重复 XML parsing Android 的可能副本 @bpA 请看我的编辑 【参考方案1】:在 android 中有几种解析 XML 的方法。您可以通过将字符串包装在阅读器中来使用XMLReader.parse(InputSource),如图所示here
查看 Android 开发者网站的 Parsing XML Data 部分了解更多信息。
【讨论】:
以上是关于从包含在字符串中的 XML 获取值的主要内容,如果未能解决你的问题,请参考以下文章