当前位置: 首页 > 知识库问答 >
问题:

在Freemarker模板上使用XML命名空间访问DOM属性

单于善
2023-03-14

我有以下XML。

<n:wmi xmlns:inventory="http://www.example.com/XMLSchema/mp/v1/item/ItemInventory.xsd" >
<items processMode="INCREMENTAL">
  <item partnerItemId="SM-290754-US">
    <action>UPDATE</action>
    <inventory:availability code="AC" onHandQty="124" />
  </item>
</items>

我想访问Freemarker模板中的“code”属性。下面是我的freemarker模板。

我尝试了以下模板。但他们都没有工作。

<#ftl ns_prefixes={"inventory":"http://www.example.com/XMLSchema/mp/v1/item/ItemInventory.xsd"}>${item["inventory:availability[@code]"]}

<#ftl ns_prefixes={"inventory":"http://www.example.com/XMLSchema/mp/v1/item/ItemInventory.xsd"}>${item["inventory:availability.@code"]}

共有1个答案

纪鸿禧
2023-03-14

我又做了一些调查。正确的xpath将是

${item["inventory:availability/@code"]}
 类似资料:
  • 问题内容: 我有一个XML文档,内容如下: 我的问题是如何使用Python中的BeautifulSoup这样的库访问它们? xmlDom.web [“ Web”]。总计?不起作用? 问题答案: BeautifulSoup本身不是DOM库(它不实现DOM API)。使事情变得更复杂的是,您在该xml片段中使用了名称空间。要解析该特定的XML片段,可以使用BeautifulSoup,如下所示: 如果您

  • 主要内容:命名冲突,使用前缀来避免命名冲突,XML 命名空间 - xmlns 属性,统一资源标识符(URI,全称 Uniform Resource Identifier),默认的命名空间,实际使用中的命名空间XML 命名空间提供避免元素命名冲突的方法。 命名冲突 在 XML 中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突。 这个 XML 携带 HTML 表格的信息: <table> <tr> <td>Apples</td> <td>Bananas</td> <

  • 在本章中,将学习如何访问XML文档的信息单元的XML DOM节点。 XML DOM的节点结构允许开发人员在树周围导航以查找特定信息并同时访问信息。 访问节点 以下是可以访问节点的三种方式 - 通过使用方法 通过循环遍历或遍历节点树 通过使用节点关系导航节点树 1. getElementsByTagName() 此方法允许通过指定节点名称来访问节点的信息。它还允许访问节点列表和节点列表长度的信息。

  • 我有以下代码示例(MSVC 2015编译) https://godbolt.org/g/kccgtb(用于可执行演示) 在msvc下生成以下错误 实例cpp公司 /opt/compiler-explorer/windows/19.00.24210/include/xlocale(341):警告C4530:使用了C异常处理程序,但未启用展开语义。指定/EHsc /opt/compiler-explo

  • 我在Dropwizard应用程序中设置视图时遇到了Freemarker的一个奇怪问题。 按照这里的文档,我建立了一个非常简单的示例,如下所示 使用 呈现时的预期输出是显示的HTML文档。 实际发生的情况是Freemarker抛出一个异常,抱怨——特别是——未定义。 这似乎是因为是一个公共字段,没有getter。当我添加一个公共字符串getBar(){返回栏;}getter到时,它就工作了。 我有点

  • 我正在使用Smoks库进行XML到XML的转换。下面是Smoks配置。在freemarker模板中,我希望访问jdk库类以及我在项目中创建的类。请让我知道我如何实现这一点。