如何通过命名空间获取属性的值

2023-12-11

我想获取属性的内容xsi:架构位置。它与 php 中的 getElementsByTagName 完美配合(以及之后的 foreach),但它很丑,对吗?

如何通过简单的 Xpath 查询获得相同的内容?

这是 xml 内容的简短示例:

<?xml version="1.0" encoding="utf-8"?>
<gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.0" creator="blabla" xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd http://www.groundspeak.com/cache/1/0/1 http://www.groundspeak.com/cache/1/0/1/cache.xsd" xmlns="http://www.topografix.com/GPX/1/0">
...
</gpx>

Thanks!


通常,您需要首先向 XPath 库注册要使用的名称空间。然后,您可以通过包含名称空间前缀和名称来查询属性。

因此,假设您正在使用 DOMXPath,您可能会注册以下命名空间:

$xpath = new DOMXPath($doc);
$xpath->registerNamespace("xsi","http://www.w3.org/2001/XMLSchema-instance");
$xpath->registerNamespace("gpx", "http://www.topografix.com/GPX/1/0");

然后您可以使用如下方式查询 schemaLocation 属性:

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

如何通过命名空间获取属性的值 的相关文章

  • 如何为 Lumen 的封闭路线指定路线名称?

    您好 我有以下流明路线 router gt get end function Illuminate Http Request request use router controller router gt app gt make App H
  • PHP/MySQL:检索邻接列表模型中的单个路径

    有没有什么有效的方法可以在不限制深度的情况下根据节点的ID检索邻接列表模型中的单个路径 就像如果我有一个名为 Banana 的节点的 ID 我可以获得以下路径 Food gt Fruits gt Banana 如果不可能的话也不是什么大问题
  • 基于 PHP 的 CSV 编辑器? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有谁知道用 PHP 编写的在线 CSV 编辑器允许用户打开 编辑和保存给定的 CSV 文件 我能找到的只
  • 如何在Web服务中传递URL

    我想将此 URL 作为网址中的值传递http localhost h2orn php verify php email emails hash hash但是 我只能在 符号之前传递 我想传递所有 URL 我正在使用java网络服务 代码在这
  • Laravel 5 与 SAML 2 和现有 IDP 集成

    我使用 Laravel 5 我正在尝试将 SAML 2 0 与其集成 我找到了这个包 https github com aacotroneo laravel saml2 https github com aacotroneo laravel
  • 在 XSLT 函数中处理空序列

    我有一个 XSLT 函数 它检查发送的参数是否采用 YYYYMMDD 格式 在某些情况下 我没有获得该函数的任何值 在这些情况下 SAXON 会抛出以下错误 不允许空序列作为 cda isValidDate 的第一个参数 有什么建议如何处理
  • 一次将多个值插入MySQL [重复]

    这个问题在这里已经有答案了 谁能解释一下为什么这个 PHP MySQL 不起作用 基本上我需要从表单中一次插入大量行 因此会有多个名称字段 多个短 中 长字段等 我收到此错误 Notice Undefined variable Short1
  • 适用于 Windows 的 PHP 支持的 GUI 应用程序

    我知道 PHP 是一种解释性语言 对于基于 Web 的事物来说 不是为在实际操作系统上运行 GUI 应用程序而设计的 但是有没有办法呢 基本上 是否有一个框架 系统允许我创建 本机 基本上是二进制文件 exe 看起来像带有本机控件和所有内容
  • XPATH / XSLT:选择父节点的属性与另一个节点的属性匹配的节点

    我正在尝试使用 XPath 和 XSLT 对以下 XML 进行转换
  • WooCommerce:用文本覆盖购物车价格

    我们有很多产品具有以下功能 No price 零价格 我们让它们可以通过内置挂钩购买 但购物车仍然将它们显示为具有0 price结账时 我们希望购物车和结帐摘要显示 特殊订单 或任何其他文本 但 WooCommerce 似乎使基于文本的价格
  • PHP header() 和 jquery mobile

    我想使用 php header Location newpage php 进行重定向 我没有收到错误 但 Jquery mobile 似乎无法加载目标页面 并且地址栏仍保留旧地址 请问您有什么建议吗 Thanks 尝试添加data ajax
  • 如何将空字符串编组到单个标签

    我有我的对象 配置了代码 object setName 编组为以下 XML
  • ZF2 工厂获取参数

    我有一个动态类别导航 在导航工厂中 我想从路线获取参数 我怎样才能做到这一点 在我看来 在我的 module php 中 public function getServiceConfig return array factories gt
  • php向多个收件人发送邮件

    我可以通过在邮件程序中定义 id 来将电子邮件发送到一个电子邮件 id 但是当用户在表单中键入 消息和电子邮件 id 时 我无法理解如何发送到多个收件人 例如 我正在显示一个带有两个文本区域的表单 一个用于电子邮件 ID 一个用于自定义消息
  • 使 div 的大小与其内部图像的大小相同

    我有一个带有以下代码的div HTML div img src img logo png div CSS div imgContainer width 250px height 250px padding 13px 问题是用户可以编辑图像大
  • 转换MAC地址格式

    我刚刚编写了一个小脚本 从交换机中提取数百个 MAC 地址进行比较 但它们的格式为 0025 9073 3014 而不是标准的 00 25 90 73 30 14 我对如何转换它感到困惑 我能想到的最好的办法就是在 处将它们分解成碎片 然后
  • PHP 中的嵌套 JSON 输出

    我正在为 iOS 应用程序构建 API 并尝试将 mySQL 数据转换为 JSON 字符串进行处理 所需的输出将需要顶级订单详细信息 例如客户名称和地址 然后是订购的产品子数组 我需要的两个表中有相当多的字段 我希望拥有所有字段 我已经构建
  • NodeJS 和 PHP (Laravel) 集成用于 Socket.IO 实时聊天

    目前我有一个我写过的网站PHP通过Laravel 框架 我已经使用写了一个实时聊天nodeJS with 套接字IO and Express现在我想做的是将它集成到我已经编写的 Laravel 网站中 问题是聊天必须在主页中 当前由 Lar
  • 哪个 PHP 5 版本最常用?

    当我开发将在不同配置的客户端 Web 服务 通常使用共享托管 上使用的应用程序时 我应该假设大多数 Web 服务器都具有哪个 PHP 5 版本 例如 5 2 x 5 3 x 等 在所有使用 PHP 版本 5 的网站中 有 84 9 使用版本
  • PHP 中的 Zip 流

    我有一个 PHP 脚本 可以动态创建 zip 文件并强制浏览器下载该 zip 文件 问题是 我可以直接将zip文件写入连接到用户浏览器的输出流 而不是先将其保存为服务器上的真实文件 然后发送文件吗 提前致谢 如果您的 Web 服务器运行的是

随机推荐

  • 如何在这段 PHP 和 MySQL 代码中演示 SQL 注入?

    首先我想指出 这是对我自己的数据库的一次教育尝试 目的是更好地理解 MySQL 注入以保护我自己的代码 我需要找出几个示例来说明如何根据以下代码构建 MySQL 注入 这是一个基本的用户登录系统 我接受用户名和密码而不进行任何转义 user
  • 有没有用 Java 实现的验证 HTML 解析器?

    我需要用 Java 解析 HTML 4 理想情况下 我想要一个与 SAX 兼容的实现 我知道 Java 有许多 HTML 解析器 但是 它们似乎都执行 整理 换句话说 它们将纠正格式错误的 HTML 我不想要这个 我的要求是 没有整理 如果
  • Flutter 键盘使文本字段隐藏

    我是新来的扑腾 我添加了一个带有文本字段的表单 当我单击文本字段并且键盘出现时 文本字段会上升 这是我的代码 Widget build BuildContext context MediaQueryData mediaQuery Media
  • 我想沿着特定路径制作对象的动画

    我必须移动路径上的小矩形 在画布内单击后 矩形会移动 我无法为其设置动画 因为对象只是跳转到所需的点 请在以下位置找到代码Fiddle HTML
  • InstallShield Basic MSI 卸载不显示带有“完成”按钮的对话框

    我使用 InstallShield 2018 并创建了一个 Basic MSI 项目 卸载产品时 它会确认我是否要继续卸载 确认后开始卸载 但随后它就消失了 最后没有显示一个对话框 您可以在其中单击 完成 按钮 因此 用户不知道卸载是否完成
  • 注册全局热键而不禁用其密钥

    我想制作一个程序 即使它在任何时候都不活动 也可以捕获键盘事件 Hooks 太复杂了 我需要做很多事情才能使其正常工作 制作 DLL 读取它等等 所以我决定继续使用热键 但现在我有一个问题 注册热键会禁用键盘上的按键 因此我只能将按键发送到
  • 为什么要使用指针? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我知道这是一个非常基本的问
  • 对大 O 表示法感到困惑

    根据这本书 大O的意思是 f n O g n means c g n is an upper bound on f n Thus there exists some constant c such that f n is always c
  • Windows Phone下如何获取设备方向改变事件

    对于 Windows Phone 当设备进入横向模式时 我是否可以注册一个事件 我之所以问这个问题是因为我们有一个带有输入框的视图 当处于横向模式时 TextBox部分被键盘阻挡 所以我想当页面处于横向模式时可能必须隐藏页面上的一些附加信息
  • Rails 中的 JQuery 在从另一个页面链接后失败,但在页面加载时工作

    我在主页上使用了一个报价旋转器 当我直接从浏览器加载页面 在浏览器中输入地址并按回车键 时 它工作正常 但是 如果我单击指向我网站中另一个页面的链接 然后链接回主页 它就会停止工作 更具体地说 引号开始重叠 几乎就像该方法的两个实例正在运行
  • ResolverStyle.STRICT 在“@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)”中不起作用

    我在用 DateTimeFormat iso DateTimeFormat ISO DATE JsonFormat pattern MM dd yyyy private LocalDate start 但它接受02 30 2019并转换为0
  • ado.net 使用“using”语句时关闭连接

    我正在像这样对 SQL Server 进行数据库访问方法 using SqlConnection con new SqlConnection connection string using SqlCommand cmd new SqlCom
  • 优化插入符的灵敏度似乎仍然可以优化 ROC

    我正在尝试使用插入符号来最大化我的模型选择的灵敏度rpart 为此 我尝试复制此处给出的方法 向下滚动到使用用户定义函数 FourStat 的示例 caret 的 github 页面 create own function so we ca
  • 如何创造漩涡/漩涡效果?

    我试图在作为传感器的圆形体上产生涡旋效果 我一直在寻找这个 我寻找的所有示例都是用 C 或 Objective C 编写的 但我似乎没有很好地翻译它们 当我的对象碰撞时 它调用 beginContact 并设置一个标志 以便我可以调用 bo
  • window.open(url, windowname, opts) 在新选项卡中打开,而不是在 Firefox 中打开新窗口

    似乎 尝试在jsfiddle window open http www google com window name width 400 height 320 完全停止在 Firefox 中打开新窗口 无论您输入什么内容作为 window
  • 针对客户和员工的 Spring Security 用户身份验证

    我是 Spring Security 的新手 我有一个带有两种不同类型实体的 Spring Boot 应用程序 客户和员工 在员工中 我有普通员工 管理员和超级用户 由于我使用的是 JPA 因此每个实体都有自己的repository 如何建
  • Oracle 数据访问组件 64 位无法在 IIS Express 7.5 中工作

    我已经安装了 ODAC Oracle 数据访问组件64 bit odp net 4 但不幸的是它不能与 IIs Express 一起使用 IIS Express文档说它支持32位和64位系统 它是否可以与 odp net 4 64 位 一起
  • 到底为什么我们需要 React.forwardRef ?

    假设我有一个带有可滚动子组件的组件 并且我想公开滚动的功能 const MyComponent props gt return
  • 2 个“样式”内联 css img 标签?

    我有以下标签 img src http img705 imageshack us img705 119 original120x75 png style width 100px alt 25 我已经将两个内联 CSS 命令放入 style
  • 如何通过命名空间获取属性的值

    我想获取属性的内容xsi 架构位置 它与 php 中的 getElementsByTagName 完美配合 以及之后的 foreach 但它很丑 对吗 如何通过简单的 Xpath 查询获得相同的内容 这是 xml 内容的简短示例