关键词:
【中文标题】从 PHP 脚本获取和解释 XML 文件响应的最简单方法是啥? [复制]【英文标题】:Which is the easiest approach to get & interpret a XML file response from a PHP script? [duplicate]从 PHP 脚本获取和解释 XML 文件响应的最简单方法是什么? [复制] 【发布时间】:2012-03-31 18:38:13 【问题描述】:可能重复:Best XML Parser for PHPUsing JAXB with Google Android
我需要在我的 Android 应用中添加一个简单的功能。
我必须连接到这个虚构的脚本:http://test/getMagazinesList.php
脚本会返回一个像这样的 XML 文件:
<magazines>
<magazine title="APP 1" id="1">
<description>Prueba real</description>
<miniature>http://web/miniature.jpg</miniature>
</magazine>
<magazine title="APP 2" id="2">
<description>Prueba real 2</description>
<miniature>http://web/miniature2.jpg</miniature>
</magazine>
<magazine title="APP 3" id="3">
<description>Prueba real 3</description>
<miniature>http://web/miniature3.jpg</miniature>
</magazine>
</magazines>
目标是将 XML 的所有信息存储在这些 MagazinePreview 对象的列表中:
public class MagazinePreview
String title;
String id;
String description;
String miniatureUrl;
Bitmap miniature;
public MagazinePreview(String title, String id, String description,
String miniatureUrl)
super();
this.title = title;
this.id = id;
this.description = description;
this.miniatureUrl = miniatureUrl;
连接到该 PHP 并获取 XML 并解释它以将信息存储在 MagazinePreview 类对象列表中的最简单方法是什么?
谢谢
【问题讨论】:
以及右侧相关部分中更多合适的副本。提问前请使用搜索功能。 Do your homework. 你也可以参考这里。 ***.com/questions/4624440/… @Pableras84 “最简单的方法”没有建设性。据我所知,OP 只是询问如何处理 XML,我们得到了任何语言的答案。 这里没有提及 PHP 【参考方案1】:您可以为此使用Simple XML。
用这些注释装饰你的MagazinePreview
类:
public class MagazinePreview
@Attribute
String title;
@Attribute
String id;
@Element
String description;
@Element(name="miniatura")
String miniatureUrl;
Bitmap miniature;
public MagazinePreview(String title, String id,
String description, String miniatureUrl)
super();
...
现在为您的杂志收藏添加一个类。添加一个执行 XML 字符串反序列化的方法,在执行过程中实例化您的对象:
@Root
public class MagazinePreviews
@ElementList(name="magazines")
ArrayList<MagazinePreviews> previews;
public static MagazinePreviews Load(String xml)
Serializer serializer = new Persister();
return serializer.read(MagazinePreviews.class, xml);
这将为您提供一个 MagazinePreviews
实例,其中包含您的 MagazinePreview
实例。简单的 XML 完成了所有繁重的工作。它将使用注解(@Element
、@Attribute
)来知道哪些数据应该放在哪些字段中。
您仍然需要一种方法来连接到您的 PHP 服务器脚本。假设它是一个简单地返回 XML 字符串的脚本,你可以使用这个:
public String getXML() throws Exception
StringBuilder builder = new StringBuilder();
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet("myscript.php");
HttpResponse response = httpclient.execute(httpget);
int statuscode = response.getStatusLine().getStatusCode();
if(statuscode == 200)
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(content));
String line;
while ((line = reader.readLine()) != null) builder.append(line);
else throw new Exception("HTTP error: " + String.valueOf(statuscode));
return builder.toString();
此代码在服务器上调用您的 PHP 脚本,检索响应(假定为 XML 字符串),或在请求失败时抛出错误。
【讨论】:
我可以在没有任何限制的商业应用上使用 SimpleXML 吗? 为什么在字符串 minituraUrl 之前使用 "@Element(name="miniatura")"; ??还有,为什么title & id 是属性,而description 是元素? 您可以不受任何限制地使用 SimpleXML。您必须对 XML 属性使用@Attribute
注释,对 XML 元素使用 @Element
注释。我将@Element(name="miniatura")
用于“String mini-Url”,因为字段名称与 XML 中使用的名称不同。
谢谢,我现在明白了。现在的问题是如何将我用你最后一种方法获得的字符串 xml 转换为对象杂志预览。我怎样才能实现最后一件事?
当然是调用MagazinePreviews.Load(String xml)
方法。从 php 脚本获取响应时出错
】从php脚本获取响应时出错【英文标题】:errorwhilegettingresponsefromphpscript【发布时间】:2011-05-3103:31:46【问题描述】:我在node.js中有以下代码console.log("Sendingrequest"+sys.inspect(request));varrequest=Yapi.request(\'get\',config.path+\'/index.php?comman 查看详情
使用命名空间从 XML 响应中获取 PHP 数组
】使用命名空间从XML响应中获取PHP数组【英文标题】:GetPHParrayfromXMLresponcewithnamespaces【发布时间】:2017-12-1818:32:14【问题描述】:我收到来自GEO服务(PDOK)的XML响应。$responce->raw_body包含这个XML结构:<xls:GeocodeResponsexmlns:xls="htt... 查看详情
xml(php中获取xml文件的方式/ajax获取xml格式的响应数据的方式)
1、XML格式规范:①必须有一个根元素②不可有空格、不可以数字或.开头、大小写敏感③不可交叉嵌套④属性双引号(浏览器自动修正成双引号了)⑤特殊符号要使用实体⑥注释和HTML一样虽然可以描述和传输复杂数据,但是其解... 查看详情
如何从 PHP 中的以下 SOAP XML 响应中获取 pinBlocked 标记
】如何从PHP中的以下SOAPXML响应中获取pinBlocked标记【英文标题】:HowtogetthepinBlockedtagfromthefollowingSOAPXMLresponseinPHP【发布时间】:2021-12-1309:23:18【问题描述】:如何在PHP中从以下SOAPXML响应中获取pinBlocked标记这是我的SOAPXML响应:<... 查看详情
从 Google Apps 脚本上的 URL 获取文件 ID 的最简单方法
】从GoogleApps脚本上的URL获取文件ID的最简单方法【英文标题】:EasiestwaytogetfileIDfromURLonGoogleAppsScript【发布时间】:2013-05-2606:10:02【问题描述】:这是我想要做的:给定一个Google文档URL,我想获取文档ID以在GoogleDrive上创建一个副... 查看详情
从 HttpClient SendAsync 请求获取响应时出现无法解释的超时和延迟
】从HttpClientSendAsync请求获取响应时出现无法解释的超时和延迟【英文标题】:UnexplainedtimeoutsanddelaysongettingtheresponsefromHttpClientSendAsyncrequests【发布时间】:2021-07-0512:31:47【问题描述】:我们有一个混合使用异步和同步代码的.NET4.7... 查看详情
flink学习笔记:flink的最简安装
文章目录一、Flink概述二、Flink的最简安装(一)获取flink安装包(二)上传flink安装包(三)解压flink安装包(四)配置环境变量三、利用FlinkShell实现词频统计(一)准备数据文件(二)启动flink本地服务(三)实现词频统计1、... 查看详情
在 php 脚本中执行 curl 命令并从服务器获取响应并提取它
】在php脚本中执行curl命令并从服务器获取响应并提取它【英文标题】:executecurlcommandinsidephpscriptandgetresponsefromserverandextractit【发布时间】:2014-01-1406:14:06【问题描述】:我想验证androidpaypal支付的证明为此,我想执行这段代码:c... 查看详情
如何在php中解析soap xml响应并从字符串中获取信息
】如何在php中解析soapxml响应并从字符串中获取信息【英文标题】:Howtoparsesoapxmlresponseinphpandgettheinformationfromthestring【发布时间】:2016-05-0622:17:51【问题描述】:我在从SOAP响应中提取信息时遇到了一些问题。这是我得到的回复:&... 查看详情
禅道的最简使用
1.禅道最简使用1.1.使用禅道来进行项目任务管理1.1.1.创建项目1.进入项目视图,点击右侧的”添加项目“链接。2.出现项目添加的页面在这个页面设置项目名称、代号、起止时间、可用工作日、团队名称、和项目描述等字段。其... 查看详情
从 XML 文件中获取节点在 php 中不起作用
】从XML文件中获取节点在php中不起作用【英文标题】:GetnodesfromXMLfilenotworkinginphp【发布时间】:2014-05-2622:10:48【问题描述】:我有以下XML结构,需要显示的时间戳和体育场名称、城市和国家/地区名称,但我的代码根本不起作用.... 查看详情
使用 AJAX 从 PHP 文件中获取响应
】使用AJAX从PHP文件中获取响应【英文标题】:GetresponsefromPHPfileusingAJAX【发布时间】:2013-02-0119:56:04【问题描述】:所以这是我的问题,我正在使用AJAX(jQuery)将表单发布到process.php,但页面实际上需要回显响应,例如apple或plum。... 查看详情
如何使用 PHP 将 Simple XML 解释为 HTML?
...问题描述】:我从服务器获得了简单XML的响应,但我只想获取我需要的页面数据并在html标记中显示这些数据。我该怎么做?我的请求代码:include"TopSdk.php";date_default_timezone_set(\'Asia/Shangha 查看详情
springmvc4+spring+mybatis3基于注解的最简配置
...DispatcherServlet来处理分发请求的,所以我们需要先在web.xml文件中配置DispatcherServlet,而Spring的启动则是使用了监听器,所以需要配置spring的监听器:<?xmlver 查看详情
从 php 获取响应并保存在 android 文件中
】从php获取响应并保存在android文件中【英文标题】:getresponsefromphpandsaveinafileandroid【发布时间】:2014-05-2012:08:22【问题描述】:我正在尝试从android向PHP文件发出请求。之后,我需要将PHP生成的响应(单个代码)保存到一个文件... 查看详情
从命令行运行 PHP 脚本
】从命令行运行PHP脚本【英文标题】:RunningPHPscriptfromthecommandline【发布时间】:2012-05-0300:02:01【问题描述】:如何使用用于解析Web脚本的PHP解释器?我有一个从Web访问的phpinfo.php文件显示已安装German。但是,如果我从命令行使用... 查看详情
如何使用不同目录中的 bash 脚本从多个文件中获取数据 HTTP 响应代码 5xx
】如何使用不同目录中的bash脚本从多个文件中获取数据HTTP响应代码5xx【英文标题】:HowtogetdataHTTPresponsecode5xxfrommultiplefileswithbashscriptindifferentdirectory【发布时间】:2022-01-2406:08:17【问题描述】:我正在学习bash脚本,但我可能需... 查看详情
从 XmlDocument 中获取带有换行符的缩进 XML 的最简单方法是啥?
】从XmlDocument中获取带有换行符的缩进XML的最简单方法是啥?【英文标题】:WhatisthesimplestwaytogetindentedXMLwithlinebreaksfromXmlDocument?从XmlDocument中获取带有换行符的缩进XML的最简单方法是什么?【发布时间】:2010-09-1705:46:41【问题描... 查看详情