使用 XPath 获取具有默认命名空间(无命名空间前缀)的元素

2024-02-03

在这个 SOAP XML 文件中,我怎样才能获得7关于使用 XPath 查询?

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
                            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                            xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
        <HelloWorldResponse xmlns="http://tempuri.org/">
           <HelloWorldResult>7</HelloWorldResult>
        </HelloWorldResponse>
    </soap:Body>
</soap:Envelope>

此 XPath 查询不起作用//*[name () ='soap:Body'].


如果您设置了命名空间前缀,则可以使用它,例如:

//soap:Body

但是由于您尝试获取的节点使用默认命名空间,没有前缀,使用纯 XPath,您只能通过local-name() and namespace-uri()属性。例子:

//*[local-name()="HelloWorldResult"]/text()

Or:

//*[local-name()="HelloWorldResult" and namespace-uri()='http://tempuri.org/']/text()

Or:

//*[local-name()="HelloWorldResponse" and namespace-uri()='http://tempuri.org/']/*[local-name()="HelloWorldResult"]/text()

对于您的 xml,它们都会给出相同的结果,即文本7.

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

使用 XPath 获取具有默认命名空间(无命名空间前缀)的元素 的相关文章

  • 在 Python 中按标题将 docx 拆分为单独的文件

    我想编写一个程序来获取我的 docx 文件 迭代它们并根据标题将每个文件拆分为多个单独的文件 每个 docx 中都有几篇文章 每篇文章都有一个 标题 1 及其下方的文本 因此 如果我的原始 file1 docx 有 4 篇文章 我希望将其分
  • Linq to XML - 更新/更改 XML 文档的节点

    我有 2 个问题 1 我已经开始使用 Linq to XML 我想知道是否可以通过 Linq 更改 XML 文档 我的意思是 有没有类似的东西 XDocument xmlDoc XDocument Load sample xml updat
  • 如何使用lxml和python更新xml文件?

  • 通过 XSL 查看 XML 到 XHTML 转换中的源代码

    我正在尝试使用 XSL 文件将 XML 文件转换为 XHTML 文件 如何查看转换后输出的XHTML源代码 我目前正在通过 Firefox 查看结果 但我看到的只是 XHTML 文件的渲染版本 我想查看源代码 但是当我转到 查看 gt 页面
  • 如何以最短的等待时间加速 Java Selenium 脚本

    我目前正在开发一个 java selenium 项目 这通常是一个小脚本 我必须在其中检查每个元素是否存在 并基于触发一些操作 但我们主要关心的是完成脚本的持续时间 基本上 我在脚本中使用了下面的每一个并运行了测试 尽管在每种情况下脚本都在
  • JAXB:如何注释类以使它们属于不同的命名空间?

    我希望有JAXB 注释的类将是 编组 解组到不同的 XML 命名空间 我需要的是这样的
  • 使用ASP/VB获取节点属性值

    我有以下 XML 架构
  • 扩展 XSD 文件

    我有一个带有枚举类型的 XSD 文件 我想创建一个 扩展 XSD 文件 它添加一些额外的枚举 但其他方面的行为就像主 XSD 一样 例如 主 XSD 文件包含以下内容
  • 使用 XPATH(和 PHP)从样式属性中选择背景 url

    我只想从此背景图像样式属性中选择 url 这可以通过 XPATH 实现吗 a href http www test com style background image none test a 我有类似的东西 url xpath gt qu
  • 不使用 local-name() 或 name() 函数的 XPath

    我必须解析oprResult code使用 XPath 从下面的 XML 中获取 XPath 表达式 local name oprResult code 正在按预期工作 但是 我无法使用name or local name功能为 在我的解析
  • 如何锁定/密码保护 XML 文件?

    我在 XML 文件中读取和写入数据 我不希望其他人阅读该文件 所以我想为我的文件创建密码或锁定文件 我怎样才能做到这一点 如果不使用加密软件 则无法使用密码保护 XML 文件 XML 文件只是文本 但像 PGP 谷歌搜索 这样的程序应该可以
  • 最好的 php DOM 2 数组函数是什么?

    我想解析xml文件 到目前为止 我发现最好的方法是使用 DOMDocument 类 示例 xml 字符串
  • 在Excel VBA中将图像(jpg)转换为base64?

    我需要在 Excel 中转换图像 或通过VBA 转为base64 最后我将进行XML输出 我怎样才能做到这一点 我需要引用 DOM 吗 我一直在读书这个问题 https stackoverflow com questions 169907
  • 为什么这些冲突出现在以下 XML 的 yacc 语法中

    我有以下 XML 语法 效果很好 program lt ID attribute list gt root root lt ID attribute list gt node list lt ID gt node list node s n
  • SQL Server 2008R2 和创建 XML 文档

    论坛上的第一篇文章 因为我真的被这个问题困住了 以下查询正确地将有效的 XML 文档分配给 xTempXML 变量 类型为 xml 注 文档的长度 转换为varchar max 711 select xTempXML select Pres
  • 如何访问 Scala XML 中的父元素

    The scala xml包表示带有标记树节点的 XML 但是这棵树在 Scala 2 7 中是单向的吗 因为似乎没有办法访问Elem给定的父级Elem 这似乎同样适用于父母Document 例如 在 XOM 中你有getParent an
  • 关闭 XDOCUMENT 的实例

    我收到这个错误 该进程无法访问文件 C test Person xml 因为它是 被另一个进程使用 IOException 未处理 保存文件内容后如何关闭 xml 文件的实例 using System using System Collec
  • 反序列化嵌套类时不需要 xmlns=''

    我在尝试在服务器上序列化类 将其发送到客户端并在目标上反序列化时遇到问题 在服务器上我有以下两个类 XmlRoot StatusUpdate public class GameStatusUpdate public GameStatusUp
  • xpath/xslt 确定上下文节点相对于所有同名节点的索引?

    给定下面的模式 以 查询 节点作为上下文 是否可以使用 xpath xslt 确定该 查询 节点相对于文档中所有 查询 节点的索引 而不是相对于其的position 直系兄弟姐妹 TIA Geoff section section
  • (Kiss)XML xpath 和默认命名空间

    我正在开发一个 iPhone 项目 需要解析一些 xml xml 可能包含也可能不包含默认名称空间 我需要知道如何解析 xml 以防它使用默认命名空间 由于我需要读取和写入 xml 因此我倾向于使用 KissXML 但我愿意接受建议 这是我

随机推荐