如何将 XML 数据解析为 PHP 变量

2024-04-26

我对 php 很平庸,对 XML 一无所知……如果你能详细一点,它将帮助我学习。

我正在尝试使用 PHP 编程来执行此链接的脚本...。 VARIABLE_ZIP 是在表单中输入的实际邮政编码,该表单将在上面的链接中提交信息。该链接的输出创建了一个 XML 页面,我不希望该页面显示在我的网站上的任何位置。

我想要做的是将 XML 数据纬度和经度值捕获为 php 中的变量并将它们存储到数据库中。

1)我有一个表格

2) 用户在表单中输入邮政编码

3) 提交表单后:我希望代码能够捕获由添加了邮政编码变量的链接生成的 XML 数据:(我不想让这个页面显示在任何地方,我只是想捕获数据)

4) 我想将这些变量带回 PHP,这样我就可以将它们存储在我的数据库中

*第3步对我来说是一个未知的过程。 这是 XML 代码在单独的页面上生成的内容...(我不希望显示页面):

= = = = =

<geonames>
<totalResultsCount>1</totalResultsCount>
<code><postalcode>90210</postalcode>
<name>Beverly Hills</name>
<countryCode>US</countryCode>
<lat>34.09011</lat>
<lng>-118.40648</lng>
<adminCode1>CA</adminCode1>
<adminName1>California</adminName1>
<adminCode2>037</adminCode2>
<adminName2>Los Angeles</adminName2>
<adminCode3/><adminName3/>
</code>
</geonames>

= = = = =

有人向我提供了以下内容,但我不确定如何执行它并解析我需要的变量:

<?php
$pc = $_POST['postalcode'];
$c = $_POST['country'];
$xml = file_get_contents("http://ws.geonames.org/postalCodeSearch?postalcode={$pc}&country={$c}");
file_put_contents("geopost_{$pc}_{$c}.xml",$xml);
?>

谢谢您的帮助!


最好的办法是直接导航到链接(我使用了自己的邮政编码和国家/地区)来查看 XML 的结构,然后使用 SimpleXMLElement 浏览树以获取所需的数据。此示例获取纬度和经度:

<?php
$pc = $_POST['postalcode'];
$c = $_POST['country'];
$xml = new SimpleXMLElement(file_get_contents("http://ws.geonames.org/postalCodeSearch?postalcode=".$pc."&country=".$c));
$lat = $xml->code->lat;
$lng = $xml->code->lng;
echo "Lat: $lat<br/>Lng: $lng";
?>

这应该可以帮助您开始存储这些值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 XML 数据解析为 PHP 变量 的相关文章

随机推荐

  • 如何在 Flutter 中保存用户登录详细信息?

    我是颤振新手 想要制作一个只有经过身份验证的用户 通过填写电子邮件和密码 才能使用的应用程序 所以我正在考虑制作一个名为的根小部件Authentication我将在其中检查用户是否经过身份验证 如果他们是那么带他们去Home Widget
  • ASP.NET MVC 4 cookie 消失

    我有一个 ASP NET 应用程序 它将身份验证 cookie 发送到 ASP NET MVC 应用程序 用作后台应用程序 我添加了一个全局过滤器 用于检查身份验证 cookie 的每个控制器操作 如果cookie存在 则允许用户进入该页面
  • 使用php在两个日期之间选择MS访问

    我想使用 php 从 ms access 选择数据 这是我的代码 dbdir D payroll2 ATT2000 MDB conn odbc connect DRIVER Microsoft Access Driver mdb DBQ d
  • 使用另一个视图控制器中的原型单元

    我想在多个故事板场景中使用相同的表视图单元格布局 我可以在其中一个场景中设计原型单元并以某种方式在另一个表视图控制器中访问它 即 dequeueReusableCellWithIdentifier 吗 这是不可能的 但您可以将原型单元格从源
  • 使用Boost获取成员函数的数量和参数类型? (升压::function_traits)

    对于普通的普通函数来说 它工作得很好 下面的代码工作得很好 它只打印应该的内容 int cdecl int char 2 int char include
  • 如何模拟 TCP/IP 错误?

    在多层应用程序上 我需要模拟各种 TCP IP 错误来测试一些重新连接代码 有谁知道我可以使用什么工具 基于 Windows 来实现此目的 谢谢 Scapy http secdev org projects scapy 允许您控制数据包的各
  • 有没有一种 CSS 唯一的方法来完全隐藏部分溢出的元素?

    想象一下 您有一个元素的高度是浏览器窗口高度的百分比 该元素包含一堆块元素 有没有办法使用类似的东西overflow hidden但要确保最后一个块元素在溢出时完全隐藏而不是部分隐藏 使用 JavaScript 很容易做到这一点 但我更喜欢
  • 在ms access中存储大量图像

    我有一个库存 联系人数据库 需要在其中存储大量图像 10k 件物品 1k 人 现在 由于纯粹的膨胀 显然 ole 对象是不可能的 有没有更好的方法来做到这一点 例如存储图像的路径 将存储在数据库的文件夹中 并在我需要的地方显示该图像 这会很
  • 如何在没有 create-react-app 的情况下手动配置 React 的最小设置?

    我不想使用create react app 那么我该如何配置minimal一个简单的反应应用程序的工作开发环境 Note 我知道我可能会包含所有内容在运行时作为 JS https reactjs org docs add react to
  • Django为模型表单返回两个单独的__str__

    我有一个Task包含任务和实体外键的模型 class Task models Model task models CharField max length 500 entity models ForeignKey Entity 我有一个与一
  • 如何在meteor中建立单独的测试和开发数据库

    我已经为我的流星应用程序编写了一些测试 由于他们具有删除所有文档或填充新文档的设置和拆卸方法 因此我想在专用于测试的数据库上运行它们 我注意到数据库存储在 meteor local db 中 理想情况下 我希望从不同的端口访问 db tes
  • Android 2.X 和 3.X 上的 SQLiteOpenHelper 问题

    所以我犯了一个很大的错误 在 android 4 0 上测试我的代码 并认为它在其他版本上也能正常工作 但我在使用 SQLiteOpenHelper 时遇到 2 X 和 3 X 的问题 首先是代码 public class HelperDB
  • 未创建日志文件

    我需要一个可以在项目中的多个类中使用的全局记录器 我想在 ini 文件中设置记录器设置 我开始下面的例子here https stackoverflow com questions 20086754 how to use boost log
  • 获取 pandas 布尔系列为 True 的索引列表

    我有一个带有布尔条目的熊猫系列 我想获得一个索引列表 其中的值是True 例如输入pd Series True False True True False False False True 应该产生输出 0 2 3 7 我可以通过列表理解来
  • 查找大于或等于某个值的所有值

    假设我有下表 Team Score AA 81 BB 67 CC 44 DD 1 5 JJ 279 LL 49 TT 201 GG 158 MM 32 HH 89 我想要将所有得分超过 80 的球队放在另一个表中 我尝试了 Index Ma
  • Web 配置转换不适用于 Visual Studio Online、VS2013 和 Azure

    我有一个 MVC5 网站 使用 Visual Studio Online TFS 的持续集成成功地将暂存和生产版本部署到 Azure 我已经关注了这篇博文 使用自定义部署脚本通过 git 持续交付到 Azure 网站 http chrisk
  • vNext:使用 razor 视图而无需托管的控制台应用程序

    我正在创建执行一些文件转换的控制台应用程序 这些转换可以轻松完成 从输入文件创建模型 然后为输出执行 razor 模型 为了在 IDE 中实现此功能 我使用了 Visual Studio 2015 预览版并创建了一个使用 MVC 的 vne
  • 设置 Azure 中 BLOB 存储的保留期

    我想手动设置保留期 以便在保留期结束后我可以删除存档数据 请向我建议任何可以帮助我的链接或方式 请建议我如何在我的门户中编码来设置它 我已经成功配置了生命周期管理政策 https learn microsoft com en us azur
  • Delphi 拼写检查器

    您好 我正在寻找一个与 Delphi 7 2010 一起使用的免费拼写检查器 任何人都可以给我一个指向吗 我想添加我们在 SynProject 编辑器中使用的 HunSpell 库 它包含在该 GPL 工具的源代码中 http synops
  • 如何将 XML 数据解析为 PHP 变量

    我对 php 很平庸 对 XML 一无所知 如果你能详细一点 它将帮助我学习 我正在尝试使用 PHP 编程来执行此链接的脚本 VARIABLE ZIP 是在表单中输入的实际邮政编码 该表单将在上面的链接中提交信息 该链接的输出创建了一个 X