gpt4 book ai didi

android - 在 Android 中解析 XML 文件

转载 作者:行者123 更新时间:2023-11-30 03:48:34 25 4
gpt4 key购买 nike

我正在开发一个用于在线投票的应用程序,其中登录过程是通过 dotnet 中的 webservice 进行的。 Web 服务部分已准备就绪并且可以正常工作,但我想看看返回了什么响应。

URL url=new URL("http://www.example.com/login");
HttpURLConnection urlconnection=(HttpURLConnection)url.openConnection();
String requestXML="<data><username>sachin.t@gmail.com</username><password>sachin</password></data>";
urlconnection.setRequestMethod("POST");
urlconnection.setDoInput(true);
urlconnection.setDoOutput(true);
urlconnection.setRequestProperty("Accept-Charset", "UTF-8");
urlconnection.setRequestProperty("Content-type", "application/xml");
urlconnection.setRequestProperty("Content-Length", ""+Integer.toString(requestXML.length()));

//Send request
DataOutputStream dout=new DataOutputStream(urlconnection.getOutputStream());
dout.writeBytes(requestXML);
dout.flush();
dout.close();
if(urlconnection.getResponseCode()==HttpURLConnection.HTTP_OK)
{
InputStream is=urlconnection.getInputStream();
BufferedReader breader=new BufferedReader(new InputStreamReader(is));
String temp;
String resp="";
while((temp=breader.readLine())!=null)
{
resp+=temp;
}



Document respdoc=null;
DocumentBuilderFactory docbuilderfactory=DocumentBuilderFactory.newInstance();
DocumentBuilder docbuilder=docbuilderfactory.newDocumentBuilder();
InputSource isource=new InputSource();
isource.setCharacterStream(new StringReader(resp));
respdoc=docbuilder.parse(isource);

我从网上得到了这个,但我想解析下面给出的响应。

<login>
<login_validation>"1/2/3"</login_validation>
( 1-invalid username,2-successfull and 3- already voted)

<voter_id>" 0/voter_id "</voter_id>
(if sucessfull then only voter_id else value will return 0)
</login>

有什么建议吗?

提前致谢。

最佳答案

您可以使用 Xpath (http://developer.android.com/reference/javax/xml/xpath/package-summary.html)。如果我没听错,你的回复是在“respdoc”中。要选择 login_validation 节点,您必须这样做:

XPath xpath = XPathFactory.newInstance().newXPath();
String expression = "/login/login_validation";
Node loginValidation = (Node) xpath.evaluate(expression, respdoc, XPathConstants.NODE);

选择voter_id节点:

expression = "/login/voter_id";
Node voterId = (Node) xpath.evaluate(expression, respdoc, XPathConstants.NODE);

之后,您可以使用 loginValidation 和 voterId 做任何您想做的事情。

关于android - 在 Android 中解析 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14540371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com